代码改变世界

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

image

2.选择从数据库生成,也可以选择空模型,这里选择从数据库生成

image

3.下一步中选择我们的数据库

4.选择需要生成的表,并制定命名空间

image

5.完成后会产生了edmx的文件,我们打开后可以看到:

image

同时我们可以看到生成的代码:

image

在这里我们来使用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里面我们可以看到三部分内容:

image

这就是上面所说的:存储模型、概念模型以及Mapping。

在StorageModels中我们又可以看到EntityType以及Association的定义:

image 

同样我们在概念模型中也看到了:

image

而在Mapping中我们可以看到了各个实体类型的映射以及Association的映射:

image

总结

本文就先将到这里,在这次的文章中先对Entity FrameWork有了一个预览,之后会一一进行说明。

作者:Henllyee Cui
出处: http://henllyee.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明。