如何使用半设计的数据库?模型优先还是数据库优先?

时间:2013-04-22 16:36:06

标签: c# database entity-framework ef-model-first ef-database-first

假设您有一个当前正在使用的数据库。它有一个表,其中包含有关Customers的一些信息。

让我们说你想围绕它创建一个应用程序。您需要在程序中使用Customers表,但还需要添加一些可能连接到Customers的新表。例如,您需要添加一个Orders表,该表与Customers表有一些关联。

我已经开始学习实体框架了。我学到了一些关于“Database-First”和“Model-First”数据模型的知识。但情况是,我想做的事情并不适合这些类别。我既没有完全空的数据库,也没有可以直接在程序中使用的已完成的数据库模式。

我该怎么办?如果我使用“模型优先”并使用Visual Studio Designer设计我的实体,我可以使用它来创建数据库模式的相关部分吗?

2 个答案:

答案 0 :(得分:2)

首先使用数据,然后使用模型优先。您不必选择...使用数据优先向导为现有表生成EF,然后使用设计器创建其他对象,然后将其同步回数据库。模型优先和数据优先的概念仅适用于EF材料的初始创建 - 您之后执行的任何操作都可以在任一方向同步。

这显示了如何在创建模型后将数据库更改重新放回模型中 - 您也可以执行其他操作,但我找不到该文章 - 所有新视频和垃圾都很难导航 - 您可以使用找到它。

http://msdn.microsoft.com/en-us/data/jj206878

毕竟,如果框架锁定你永远无法更新任何东西,框架将不会非常有用。正确?

答案 1 :(得分:0)

项目开发越多,数据库优先就越多,所以我建议您立即使用Database-First,然后扩展您的EF实体,然后实现/假/模拟丢失的部分

如果您还没有读过TDD,那么现在是时候这样做了。它将节省大量时间,特别是在处理不断变化的数据模型时。