4

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

从数据库开始

您首先在 SQL Server 数据库中创建模型,然后指向 EF 为您创建 .edmx 文件。通过使用这种方法,您可以使用 SQL Server Management Studio 创建所有模型和关系。

从 Visual Studio EF 设计器开始

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

这就是我所做的以及我这样做的原因

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

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

4

2 回答 2

2

我不认为有“正确”或“错误”的方式来做到这一点,很大程度上取决于您如何部署代码、代码的去向等。还有第三种方式,Scott Guthrie 最近在博客中提到:

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


附带说明一下,即使您从模型设计器开始,我认为您始终必须考虑您的表/关系,因为在数据库中弄错这些可能会给您带来更大的问题。

于 2010-07-18T07:25:34.320 回答
0

我认为没有正确或错误的方法。

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

这对我们来说非常有效。

于 2011-06-08T19:28:09.390 回答