Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何重命名DbConext连接字符串?_C#_Entity Framework - Fatal编程技术网

C# 如何重命名DbConext连接字符串?

C# 如何重命名DbConext连接字符串?,c#,entity-framework,C#,Entity Framework,这似乎是件容易的事,但我找不到方法。。我们有一个EF-EDMX模型,DB-first。我们的DbContext的名字是MyEntities。这将生成一个上下文文件 // <auto-generated> public partial class MyEntities: DbContext { public MyEntities() : base("name=MyEntities") { } }

这似乎是件容易的事,但我找不到方法。。我们有一个EF-EDMX模型,DB-first。我们的DbContext的名字是MyEntities。这将生成一个上下文文件

// <auto-generated>
public partial class MyEntities: DbContext
    {
        public MyEntities()
            : base("name=MyEntities")
        {
        }
    }
//
公共部分类MyEntities:DbContext
{
公共慈善机构()
:base(“name=MyEntities”)
{
}
}
这意味着配置中的连接字符串也是“MyEntities”。现在我们想把这个名字改成更合适的名字

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

直接在MyEntities.Context.cs中编辑该文件将不起作用,因为该文件是自动生成的


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

您可以添加一个带有自定义构造函数的部分
MyEntities
类:

public partial class MyEntities : DbContext
{
    public MyEntities(string connectionString) : base(connectionString)
    {
    }
}
这允许您传入自定义连接字符串:

new MyEntities("name=Foo");

如果要在设计时执行此操作:在实体框架模型的设计器界面上,右键单击并转到“属性”。您可以从那里更改名称。

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

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


您应该能够自由编辑它,因为
app.config
是可编辑的

我可以在App.config中编辑name,true,但我的DbContext在App.config中查找名为MyEntities的连接字符串,这就是问题所在。问题中的那段代码是自动生成的,在constructorGood思想中出现了这个nae。thx,它当然起作用了,尽管我真的不明白为什么不能(轻松/直接地)重命名我的DbContext。据我所知,默认情况下,连接字符串名称与DbContext类的名称相同。你可以从那里改名字。太好了!那就是我要找的地方!