Entity Framework code first学习笔记

By | 2014年1月15日

在博客园里找到很多关于EF的学习资源,大部分都是跟Code First 相关,下面就自己学习到的知识总结一下,做个笔记以后随时翻开看看也不错。

我自己在练习时的环境为.net 4.0 , EF 4.0, VS2012,练习的目的在于使用,而非研究新特性。

涉及到的程序集:
1. EntityFramework.dll — 使用EF必须要加载的程序集

2. System.Data.Entity.dll –这个也是必须程序集,里面包含DbContext ,以及使用Fluent API方式约束表时用到的必要的命名空间.

涉及到的命名空间:
1. System.Data.Entity –包含提供对实体框架的核心功能的访问的类
2. System.ComponentModel.DataAnnotations.Schema — 为用于定义 ASP.NET MVC 和 ASP.NET 数据控件的元数据的类的特性提供支持
3. System.Data.Entity.ModelConfiguration — 配置包含通过 DBModelBuilder 帮助公开功能的类

Model层的几个类:

Destination Lodging

数据访问层的DbContext派生类的 OnModelCreating()的方法主体内容如下:

Fulent API

之所以只使用了Fluent API 的方式,是因为System.ComponentModel.DataAnnotations 命名空间下的KeyAttribute,MaxLengthAttribute等特性,在.NET Framework 4.5下才能使用

如上图,对表的约束实现方式OnModelCreating()这个方法感觉亚历山大,比较好的实现方式额外增加一个对Model对象约束的类,实现方式如下:

DestinationMap

如此一来,OnModelCreating() 方法中如下图使用:

onmodelcreating

代码下载:CodeFirstDemo

参考资料:
Entity Framework专题
EF Code First 学习笔记:约定配置
EF和MVC系列文章导航

发表评论