Ado.net Entity FrameWork笔记(一)
2010-04-11 21:48 Henry Cui 阅读(1756) 评论(0) 编辑 收藏 举报最近的在学习一些以前欠下来的东西,先补充下Entity FrameWork吧。目前先从Entity FrameWork 1.0开始吧,然后再到.net 4.0 中的Entity FrameWork。
本文中使用的工具:VS2008 SP1+SQL SERVER 2005
基础概念
在Entity FrameWork中提出了几个重要的概念,接触过NHibernate的都知道ORM的概念,而在EF中提出了:存储模型、概念模型、以及Mapping。在其中,StorageModels就相当于R了,而ConceptualModels就相当于O了,Mappings就是C-S的映射了,这是我个人的理解是这样的。
预览
先写个实例看看:
1.在添加新建项里选择 ADO.NET Entity Data Model
2.选择从数据库生成,也可以选择空模型,这里选择从数据库生成
3.下一步中选择我们的数据库
4.选择需要生成的表,并制定命名空间
5.完成后会产生了edmx的文件,我们打开后可以看到:
同时我们可以看到生成的代码:
在这里我们来使用Entity FrameWork写一个Demo:
[Test] public void DemoTest() { using (var projectEDM = new HJRightPlatEntities2()) { ObjectQuery<Projects> Allproject = projectEDM.Projects; var Projecst = from pro in Allproject where pro.ProjectName.Equals("企业端") select pro; Assert.AreEqual(Projecst.Count(), 5); } }
这里使用的Linq to Entities来查询的,也可以使用ESQL,后面会继续学习ESQL的相关语法。
说下edmx里面的内容:
在RunTime里面我们可以看到三部分内容:
这就是上面所说的:存储模型、概念模型以及Mapping。
在StorageModels中我们又可以看到EntityType以及Association的定义:
同样我们在概念模型中也看到了:
而在Mapping中我们可以看到了各个实体类型的映射以及Association的映射:
总结
本文就先将到这里,在这次的文章中先对Entity FrameWork有了一个预览,之后会一一进行说明。