前不久看到新闻,微软公司准备对Entity Framework 框架进行开源,随着开源后肯定会有更多同学加入到学习Entity Framework 的队伍中来,因此将我对Entity Framework 的一些浅析的理解写出来,希望可以让大家一起来讨论,更重要的是自己也可以通过这个过程更加熟悉EF框架,长话短说先上提纲。
本系列内容提纲
- Code First --- Hello World
- 约定及配置
- Entity Framework & 数据库
Code First 前世今生
.NET 3.5 和 Visual Studio 2008 带来了 Entity framework 的第一个迭代版本,给开发人员带来了反向工程的能力,将数据库映射成领域模型可以通过visual studio 设计器来查看数据库及自定义数据库模型——DataBase-First 模式. 在.NET4 和 visual studio2010 中entity framework 出现了第二个版本即Entity framework 4 ,在这个版本中我们可以通过 visual studio 设计器来创建基于EDMX文件的领域模型并同步到数据库,这样让开发者将关注的焦点放到领域模型上而不是数据库设计——Model First 模式。同时也引入另一种模式 Code First,定义的领域模型不在使用之前的EDMX来描述而是通过代码文件。在Code First 中你可以自己定义POCO文件而不在使用设计器或其他的。
何时选用 Code first
这三种模式都是创建Entity Data Model 的方式之一,一点model创建完成执行方式都是一样的。因此选择只用那种更多的看你的喜好和项目场景。
下图大概列出了那种场景更适合使用Code First,当然这并不是绝对的,比如我自己就对Code first 情有独钟。