实体框架 - 可以手动创建数据库表然后创建模型吗?

时间:2014-07-13 08:40:57

标签: c# entity-framework entity-framework-6

我只是完全掌握EF。我正在处理一个不使用数据库图或.edmx文件的现有项目,它只是定义了一个模型,然后将数据库挂钩为一个上下文。我已手动向DB添加了一些表,然后为其他表编写了模型。这是一种有效的方法吗?它给了我很多问题。解决这个问题的好方法是什么?我试图解决这个问题导致问题最少?

1 个答案:

答案 0 :(得分:2)

我建议改为使用迁移系统。为更改前的项目状态对应的数据库模式创建第一个初始迁移。然后将更改应用于模型,生成下一次迁移,以便在更改后将数据库驱动到阶段并更改迁移代码,以确保不会发生数据丢失。要使迁移工作,您需要在数据库中包含__MigrationHistory表。要创建它并应用第一次迁移(由于数据库模型应完全对应于代码中的模型,因此不应更改任何内容),您可以从初始迁移中删除所有代码,然后应用它。使用此方法,您只需要更改类,将通过迁移更改db模式。