трябва да използвате EntityConnectionFactory
Ето от какво се нуждаете.
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();
}
Ето примерна употреба
MyContext ctx = new MyContext(CreateConnectionString())
::Актуализация ::
Тъй като използвате първия метод DB, вижте следното изображение
когато тези два радио бутона са налични, изберете първия. След това ще можете да зададете низа за свързване на вашия модел.
Ето как изглежда моят контекст (въпреки че е обектен контекст. Но няма значение в контекста на този въпрос)
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
...
}
Актуализиране
Добавете конструктора, който търсите, в частичен клас извън автоматично генерирания клас на обект:
public partial class WMSChennaiDEVEntities : DbContext
{
public WMSChennaiDEVEntities(string connectionstring)
: base(connectionstring)
{
}
}
Този конструктор не е включен в EF 5/6, очевидно, за да ни предпази от случайно предаване на sql низ за връзка, когато е желан низ за връзка на обект.