anda harus menggunakan EntityConnectionFactory
Inilah yang Anda butuhkan.
public string CreateConnectionString(string BasicConnectionString)
{
//EntityConnectionFactory
var entityConnectionStringBuilder= new EntityConnectionStringBuilder();
entityConnectionStringBuilder.Provider = "Your Provicer here" //For me it is "System.Data.SqlClient";
entityConnectionStringBuilder.ProviderConnectionString = BasicConnectionString;
entityConnectionStringBuilder.Metadata = "res://*";
return entityConnectionStringBuilder.ToString();
}
Berikut adalah contoh penggunaan
MyContext ctx = new MyContext(CreateConnectionString())
::Pembaruan ::
Saat Anda menggunakan metode DB pertama, lihat gambar berikut
ketika dua tombol radio ini tersedia, pilih yang pertama. Kemudian Anda akan dapat mengatur string koneksi model Anda.
Inilah tampilan konteks saya (Meskipun ini adalah konteks objek. Tapi tidak masalah dalam konteks pertanyaan ini)
public partial class DataContext : ObjectContext
{
#region Constructors
/// <summary>
/// Initializes a new DataContext object using the connection string found in the 'DataContext' section of the application configuration file.
/// </summary>
public DataContext() : base("name=DataContext", "DataContext")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
/// <summary>
/// Initialize a new DataContext object.
/// </summary>
public DataContext(string connectionString) : base(connectionString, "DataContext")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
/// <summary>
/// Initialize a new DataContext object.
/// </summary>
public DataContext(EntityConnection connection) : base(connection, "DataContext")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
#endregion
#region Partial Methods
partial void OnContextCreated();
#endregion
...
}
Perbarui
Tambahkan konstruktor yang Anda cari di kelas parsial di luar kelas entitas yang dibuat secara otomatis:
public partial class WMSChennaiDEVEntities : DbContext
{
public WMSChennaiDEVEntities(string connectionstring)
: base(connectionstring)
{
}
}
Konstruktor ini tidak disertakan dalam EF 5/6 tampaknya untuk mencegah kita melewatkan string koneksi sql secara tidak sengaja saat string koneksi entitas diinginkan.