我正在使用Entity Framework,模型第一。随着时间的推移,我注意到几个数据库模型将不再正确生成 - 在类中,模型名称将更改为“实体”,如下所示:
public partial class Entities : DbContext {
public Entities(): base("name=Entities") { }
...
显然,在编辑Context.cs文件之前,我的代码将不再编译,将“实体”的三个实例更改回正确的值。随着时间的推移,这开始发生在几个数据库中,变得非常令人讨厌。
答案 0 :(得分:0)
最终,我发现了一个解决方案。我没有编辑Context.cs文件,而是编辑了.edmx文件。
首先使用“Open with ...”打开.edmx文件,然后选择“XML Editor”。这将以文本形式打开.edmx文件,而不是显示通常的数据库图表。 (如果您已打开图表,则可能必须在执行“打开...”之前关闭它。)
在.edmx文件中搜索“实体”。我有两个点击,如下所示:
<EntityContainer Name="Entities" annotation:LazyLoadingEnabled="true">
<EntityContainerMapping StorageEntityContainer="iVgContribsModelStoreContainer" CdmEntityContainer="Entities">
如果您在第2步中获得了太多匹配,则可以尝试在“实体”一词旁边加上双引号。
一旦我这样做,该名称似乎在多个“从数据库更新模型”操作中持续存在。我不明白导致问题的原因,以及解决方案为何有效,但到目前为止它对我有用。