du bör använda EntityConnectionFactory
Här är vad du behöver.
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();
}
Här är ett exempel på användning
MyContext ctx = new MyContext(CreateConnectionString())
::Uppdatera ::
Eftersom du använder DB first-metoden, se följande bild
när dessa två alternativknappar är tillgängliga, välj den första. Sedan kommer du att kunna ställa in anslutningssträngen för din modell.
Så här ser mitt sammanhang ut (även om det är föremålskontext. Men det spelar ingen roll i sammanhanget för denna fråga)
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
...
}
Uppdatera
Lägg till konstruktören du letar efter i en partiell klass utanför den automatiskt genererade entitetsklassen:
public partial class WMSChennaiDEVEntities : DbContext
{
public WMSChennaiDEVEntities(string connectionstring)
: base(connectionstring)
{
}
}
Denna konstruktor ingår inte i EF 5/6 tydligen för att förhindra att vi av misstag skickar en sql-anslutningssträng när en entitetsanslutningssträng önskas.