如何重命名DbContext连接字符串?

时间:2013-05-16 08:19:37

标签: c# entity-framework

似乎很容易做,但我找不到如何......我们首先拥有EF EDMX模型,DB。我们的DbContext的名字就是让我们说MyEntities。这会生成一个上下文文件

// <auto-generated>
public partial class MyEntities: DbContext
    {
        public MyEntities()
            : base("name=MyEntities")
        {
        }
    }

这意味着config中的连接字符串也是“MyEntities”。现在我们要将名称更改为更合适的名称。

当我在更新对话框中说'从Db更新'时,有一个选项“将App.config中的实体连接设置保存为”,但我看到的名称是“MyEntities”,我无法编辑它。我检查了EDMX,.tt和任何文件的属性,这是无处可寻的。

直接在MyEntities.Context.cs中编辑它是不行的,因为该文件是自动生成的。

那我在哪里可以更改此名称?

2 个答案:

答案 0 :(得分:2)

您可以使用自定义构造函数添加部分MyEntities类:

public partial class MyEntities : DbContext
{
    public MyEntities(string connectionString) : base(connectionString)
    {
    }
}

这允许您传入自定义连接字符串:

new MyEntities("name=Foo");

如果要进行此设计时间:在Entity Framework Model的设计器表面上,右键单击并转到属性。您可以从那里更改名称。

答案 1 :(得分:0)

更改web.configapp.config中的连接字符串名称,如下所示:

<connectionStrings>
    <add name="HereGoesName" connectionString="Data Source=..."
        providerName="System.Data.SqlClient" />
</connectionStrings>

并且您可以自由地编辑它,因为app.config是可编辑的。