Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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# ';从数据库更新模型';将EntityContainer的名称更改为';实体';_C#_Entity Framework_Ef Database First - Fatal编程技术网

C# ';从数据库更新模型';将EntityContainer的名称更改为';实体';

C# ';从数据库更新模型';将EntityContainer的名称更改为';实体';,c#,entity-framework,ef-database-first,C#,Entity Framework,Ef Database First,我使用的是实体框架,模型优先。随着时间的推移,我注意到一些数据库模型将不再正确生成——在类中,模型名称将更改为“Entities”,如下所示: public partial class Entities : DbContext { public Entities(): base("name=Entities") { } ... 显然,在编辑Context.cs文件,将“Entities”的三个实例更改回正确的值之前,我的代码将不再编译。随着时间的推移,这种情况开始在几个数据库中发生,并变

我使用的是实体框架,模型优先。随着时间的推移,我注意到一些数据库模型将不再正确生成——在类中,模型名称将更改为“Entities”,如下所示:

public partial class Entities : DbContext {
   public Entities(): base("name=Entities") { }
...

显然,在编辑Context.cs文件,将“Entities”的三个实例更改回正确的值之前,我的代码将不再编译。随着时间的推移,这种情况开始在几个数据库中发生,并变得非常令人厌烦。

最终,我发现了一种解决方案。我没有编辑Context.cs文件,而是编辑了.edmx文件

  • 首先使用“打开方式…”打开.edmx文件,然后选择“XML编辑器”。这将以文本形式打开.edmx文件,而不是显示通常的数据库关系图。(如果您已经打开了关系图,则可能必须先关闭它,然后再执行“打开…”)

  • 在.edmx文件中搜索“实体”。我得到了两个点击,如下所示:

  • 
    
    发生这种情况的原因是,当您第一次创建模型时,您将容器命名为“实体”,然后当您的类更新时,将使用第一次创建的.edx文件中的数据重命名容器。您可以在不影响edx文件的情况下更改该属性,只需转到设计器,单击没有实体的区域以显示模型的属性并更改“实体容器名称”,非常感谢Gusman!这是一种更简单的方法。我从来没有听说过一个完整的容器。我想我应该多加注意。