2016-04-25 57 views
2

看來,當你使用Entity Framework時,它會自動創建一個連接字符串的提供者System.Data.EntityClientEntityFramework可以使用提供者System.Data.SqlClient的標準連接字符串嗎?

所以我結束了兩個連接字符串連接到同一數據庫在我的配置:

<add connectionString="Server=S;Database=D;User ID=U;Password=P" name="DBConn" providerName="System.Data.SqlClient" /> 
<add connectionString="metadata=res://*/Entities.csdl|res://*/Entities.ssdl|res://*/Entities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=S;initial catalog=D;user id=U;password=P;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" name="MyEntities" /> 

是否存在被有我的實體連接到第一,標準的連接字符串,而不是任何的方式來鞏固這些System.Data.EntityClient連接?

回答

2

如果您使用的是Code-First或Database-First,但您可以將標準連接字符串傳遞到DbContext類構造函數中,您還沒有說過。

public class MyDbContext : DbContext 
{ 
    public MyDbContext() : base("My Connection String") 
    { 

我不是硬編碼的連接字符串的粉絲,所以我一般會創建具有使用任何邏輯得到我的連接字符串初始化靜態字段的靜態類。在這種情況下,您的DbContext類將如下所示:

public class MyDbContext : DbContext 
{ 
    public MyDbContext() : base(SomeStaticClass.MyConnectionString) 
    { 
相關問題