实体框架模型创建

时间:2010-07-18 07:23:30

标签: sql database entity-framework entity-framework-designer

使用实体框架时,基本上有两种方法可以创建模型。您可以在SQL Server或Visual Studio EF设计器中创建模型。这些概述如下。

从数据库

开始

首先在SQL Server DB中创建模型,然后指向EF以为您创建.edmx文件。通过使用此方法,您可以使用SQL Server管理工作室来创建所有模型和关系。

从Visual Studio EF Designer

开始

这种方法是首先在Visual Studio中创建模型,然后从中创建数据库。通过这样做,你似乎不必太关心表和关系。

这就是我做的以及为什么我这样做

我首先使用SQL server management studio创建我的模型。我这样做是因为我认为使用该工具创建和修改表格更容易,我也确切知道正在创建什么。我通过将其指向现有数据库来创建我的EF模型。之后我创建了一个Visual Studio Database Project,以便将我的数据库编写到我放入版本控制的文件中。当我需要进行更改时,我更改数据库,然后更新我的.edmx文件以及我的数据库项目。

我想知道这些不同方法的优缺点是什么,以及决定使用哪种方法的标准应该是什么?我做错了吗?我应该首先在Visual Studio中创建我的模型吗?

2 个答案:

答案 0 :(得分:2)

我认为没有“正确”或“错误”的方式来实现这一点,很大程度上取决于你如何部署你的代码,它在哪里等等。还有第三种方式,Scott Guthrie博客最近:

http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx


作为旁注,即使你从模型设计师开始,我认为你总是要考虑你的表/关系,因为在数据库中出现这些错误会导致你的问题进一步发生。

答案 1 :(得分:0)

我不认为有正确或错误的方式。

在我们公司,我们首先直接开发数据库更改,将它们应用于现有模型的edmx模型 对于新模型,我们首先创建edmx模型,然后生成数据库。从那时起,我们通常直接更新数据库。在我们内部测试了代码并且它正确运行之后,我们知道我们的SQL数据库是正确的(当然在检入之前),然后我们将通过在数据库上进行SQL比较将更改应用于数据库项目到数据库项目。

这对我们来说非常有效。