实体框架中“数据库优先”和“现有数据库的代码优先”之间有什么区别

时间:2014-03-27 17:39:56

标签: c# entity-framework

我刚刚观看了MSDN视频,了解了新的“现有代码存储数据库”#39; EF6.1中的功能

http://channel9.msdn.com/Blogs/EF/Code-First-to-Existing-Database-EF6-1-Onwards-

然而,作为EF的新手,这似乎是从数据库中生成POCO模型类,这正是我所想的'数据库第一' (并且我理解' DB First'与#39; Code First'相反)

区别是什么?他们都是数据库的第一个'!

1 个答案:

答案 0 :(得分:5)

Code First有点用词不当......应该真正称之为"基于代码的模型" vs"基于XML的模型"。

代码首先根据类中的属性和/或代码中的流畅映射创建内存模型。

数据库和模型首先基于.EDMX文件创建内存模型,然后使用该文件生成类。

即。代码首先使用代码作为其模型。数据库和模型首先使用EDMX文件作为其模型。 Code First到现有数据库只生成代码第一类(属性和/或流畅映射),而数据库首先生成EDMX文件,然后通过T4模板生成类。