游戏技术文章

在Entity Framework 4中映射现有实体类(POCO)

时间:2017-3-1 20:20:13  作者:棋牌资源网  来源:棋牌资源网  查看:8949  评论:0
内容摘要:Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架。Entity Framework的主要特点:1. 支持多种数据库(Microsoft SQL...
Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架。

在Entity_Framework_4中映射现有实体类(POCO)

Entity Framework的主要特点:

1. 支持多种数据库(Microsoft SQL Server, Oracle, and DB2);

2. 强劲的映射引擎,能很好地支持存储过程;

3. 提供Visual Studio集成工具,进行可视化操作;

4. 能够与ASP.NET, WPF, WCF, WCF Data Services进行很好的集成。

更多简介,请看:ADO.NET Entity Framework At-a-Glance

 

在博客园新版短消息功能开发中,我们准备用Entity Framework 4,我们首先面临这样的问题:

实体类与数据库都已经存在,而且实体类的类名与数据库中的表名,类的属性与表中对应的字段名称不同。也就是说我们不能使用通常的方法在VS2010中通过ADO.NET Entity Data Model(.edmx文件)生成实体类与ObjectContext。

注:这个实体类有个称呼叫POCO(Plain Old CLR Objects)。

我们解决方法是:在.edmx文件中手动配置映射关系。

下面是操作步骤:

1. 使用ADO.NET Entity Data Model,在VS2010创建一个.edmx文件,如下图:

在Entity_Framework_4中映射现有实体类(POCO)

2. 根据Entity Data Model Wizard进行操作,在选择数据库表的窗口中,注意在Model Namespace输入框中输入现有实体类的命名空间,如下图:

在Entity_Framework_4中映射现有实体类(POCO)

3. 点击Finish,生成相应的EntityType,如下图:

在Entity_Framework_4中映射现有实体类(POCO)

这里的EntityType是根据数据库中的表结构生成的,与实际的实体类是不一样的,表名与类名不一样,表的很多字段与类的属性不一样。

下面我们配置映射的关键地方:

4. 点击.edmx窗口点击空白处,在属性窗口中将Code Generation Strategy的属性设置为None(见下图),也就是不让VS2010自动生成实体类和对应的ObjectContext。

在Entity_Framework_4中映射现有实体类(POCO)

5. 继续在.edmx窗口,选择实体类,点击右键选择Show in Model Browser,见下图:

在Entity_Framework_4中映射现有实体类(POCO)

6. 进入Model Browser窗口,见下图:

在Entity_Framework_4中映射现有实体类(POCO)

上图中,上面是实体类(这里是VS2010自动生成的,与数据库表是一一对应的),下面是表结构。

修改映射就是在这里:在Entity Types中将类名改为实际的实体类名,将属性改为实际的属性,如下图:

在Entity_Framework_4中映射现有实体类(POCO)

修改之后,映射就配置好了,.edmx文件中实体类图中也随之自动更改,见下图:

在Entity_Framework_4中映射现有实体类(POCO)

7. .edmx文件实际就是一个xml文件,映射信息就存放在其中。在VS2010解决方案管理器中选择这个文件,右键Open With,选择用XML Editor打开,就可以看到.edmx文件的内容,如下图:

在Entity_Framework_4中映射现有实体类(POCO)

在Entity_Framework_4中映射现有实体类(POCO)

8. 再写个继承自ObjectContext的类(见下图),工作就完成了。

在Entity_Framework_4中映射现有实体类(POCO)

标签:在EntityFramework4中映射现有实体类(POCO) 

欢迎加入VIP,【VIP售价:只要288元永久VIP会员】畅享商业棋牌游戏程序下载,点击开通!

下载说明


☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,

☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!

☉唯一站长QQ:1004003180  [人格担保-本站注重诚信!]

☉购买建议E-mail:1004003180@qq.com   源码收购 E-mail:1004003180@qq.com    

☉本站文件解压密码  【文章内都自带解压密码,每个密码不同!】


本站提供的所有源码,均来源站长提供,仅学习交流 浙ICP备09009969号

由此产生不良后果和法律责任与本站无关,如果侵犯了您的版权,请来信告知 1004003180@qq.com 将及时更正和删除! 

Copyright © 2008-2022 棋牌资源网,你身边的棋牌资源下载站    All Rights Reserved