实体框架代码首先使用现有数据库
Posted
技术标签:
【中文标题】实体框架代码首先使用现有数据库【英文标题】:entity framework code first using existing database 【发布时间】:2016-06-15 18:44:50 【问题描述】:我已经开始学习实体框架并且遇到了问题。我已经创建了一个代码优先 mvc 项目,并且我不想在模型更改时删除数据库。除了 DropCreateDatabaseIfModelChanges 在我的初始化程序类中,我还能做什么,以便数据库和表与数据保持一致?
【问题讨论】:
学习更多 :) 你可以切换到 DB First Approach(EDMX 文件)或在代码中使用migrations
【参考方案1】:
您根本不需要使用初始化程序。这是有效的:
Database.SetInitializer<YourContext>(null);
并在你的配置文件中设置AutomaticMigrationsEnabled = false;
然后您可以自己进行迁移。
【讨论】:
实际上,不需要禁用迁移。因为 Context 没有初始化器,因此不会验证模型,它永远不会尝试创建到当前模型的迁移。 @DevilSuichiro,感谢您提供的信息,我实际上并没有意识到这一点。以上是关于实体框架代码首先使用现有数据库的主要内容,如果未能解决你的问题,请参考以下文章