【发布时间】:2020-10-31 04:20:00
【问题描述】:
我开始使用实体框架的代码优先方法,主要是为了我可以用注释装饰我的属性,以便在我的视图中显示(否则,现在我必须创建一个几乎与实体框架为我生成的相同,因此我可以添加注释,然后将数据从一个对象复制到下一个对象)。
现在看起来当我启动我的应用程序时它正在尝试创建一个数据库。
我不希望实体框架永远修改我的数据库。不,从来没有。甚至不要尝试。修改数据库真的没那么难;如果我自己这样做,我会感觉更舒服。设计数据库时,我不需要框架来牵手。
我可以告诉框架停止尝试修改我的数据库吗?我现在非常犹豫是否使用代码优先,因为它试图修改我的数据库这一事实相当可怕。即使在开发中,我也不想看到它发生。
我运气不好?
【问题讨论】:
-
听起来您的模型与您的数据库不完全匹配。您可以尝试使用数据库的副本并指向 EF。让它创建修改数据库并比较差异,然后相应地修改您的模型。您还应该看看 EntityTypeConfiguration 泛型类。
-
修改架构或修改数据?
-
我们中的一些人只是不相信这些自动迁移,并且认为设计和设置数据库非常重要,因此手动完成是完全合理的。但是让 EDMX 远离我……这样做的另一个原因:一个团队可以在数据库上工作,而另一个团队可以设置类/模型以匹配 - 大致平行。如果有任何变化,您不必重新搜索迁移。只需更新您的注释等。
-
在 Entity Framework 核心中放弃此行为可能很有用。
标签: c# .net entity-framework entity-framework-4