实体框架——代码优先,或者可能是模型

本文关键字:或者 模型 框架 代码 实体 | 更新日期: 2023-09-27 18:20:12

可能重复:
EF 4.1代码优先vs模型/数据库优先

我做了一些调查,但答案并不能使我满意。我用实体框架启动了自己的asp.net mvc应用程序,以处理数据库。我从创建数据库开始,然后从该数据库创建模型。我知道这叫做"模特第一"。我知道第二种方法,从学校开始(代码优先)。我的讲师今天告诉我,模型优先的方法已经过时了。那是真的吗?或者:代码优先有什么优势吗?真正的区别是什么?在你看来,哪一个更好?

实体框架——代码优先,或者可能是模型

具体来说,EF代码首先指代码,模型首先指数据库。

哪个更好实际上取决于项目。如果数据库被视为应用程序的核心,或者您正在使用特定于数据库的功能,那么模型优先的方法是有意义的。

如果域模型被视为应用程序的核心,让数据库只是一种持久存储形式,那么代码优先的方法是可行的。

附带说明:这个概念通常被称为模型优先(域/代码)和数据库优先(数据库模式)。对于EF,这有点令人困惑,因为模型指的是db模式,而不是域模型,代码指的是代码。

DB first一点也不过时。事实上,对于许多企业项目来说,这就是前进的道路。

如果您正在从头开始为自己构建一些东西,那么代码优先可能是一种更好的方法。

Entity Framework提供:1)数据库优先,2)模型优先,3)代码优先。1&2创建edmx文件数据库优先:实体数据模型(edmx:StorageModels)是从现有数据库创建的。模型优先:使用指定的设计器和映射创建概念数据模型(edmx:CconceptualModels)。数据库将由此生成。代码优先:创建.NET类(没有.edmx文件)。数据库将由此生成。

"老派"将使用ADO.NET数据集/DataTable。

最快的数据访问是使用DataReader并编写自己的数据访问。没有任何框架比使用DataReader来填充您自己的POCO更快。