使用Entity Framework和WCF Ria Services开发SilverLight之3:Map

简介:

在上一篇中《使用Entity Framework和WCF Ria Services开发SilverLight之2:POCO》,我们将映射交给edmx文件处理。如下:

image

该文件是由EF框架自动生成的,通过查看原始文件,我们可以看到EF框架为我们建立了实体类间的各种映射。现在,借助于EF4.1框架,我们可以进行更方便的进行手动映射。

 

1:清理SchoolData

首先,删除ModelSchool.edmx。

其次,由于不再使用edmx映射,我们将SchoolContext中数据库连接串,换成传统的连接串。即:

image

上图中的红框部分,换成:

image

相信你和我一样,非常熟悉这样的连接字符串。

二:手动建立Map

在SchoolModel中,我们建立一个Mapping子目录,将所有的映射类全部建立在这个位置。如DepartmentMap:

需要注意的一点,理论上,我们可以借助于Map,生成完全意义上的Poco,因为我们使用EF4.1框架,通过重写DbContext类型的OnModelCreating方法,如下:

我们完全可以动态为POCO实体类生成EF所需要的各种映射关系。但是,很遗憾,在这里我们使用的Ria Service。在使用Ria Service的使用,必须要为Poco指定一个Key(这是一个BUG?),否则,我们会得到这样的一个错误:

而如果我们在使用别的应用,我指的是仅仅使用EF,则不会有这样的编译期错误出现。

所以,这是一个小小的瑕疵,请为POCO使用KEY特性。当然,别的映射关系我们可以在Map类中处理。

最后的运行效果为:

image

三:使用Entity Framework Power Tools CTP1自动生成POCO和映射

也许是考虑到手动生成POCO和映射太繁琐了,现在微软为我们提供了这样一个工具为我们自动生成POCO和映射。你需要到这里去下载它:http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d

安装完毕后,请首先生成一个C#类库项目,然后在这个类库项目上点右键,我们会发现多了一个菜单项:

image

然后,在下一界面,输入相应参数:

image

注意:一定要注册图中的红框部分。请选择第一项。如果我们使用sql server身份认证,则极有可能出现如下错误:

有博友曾经对此问题进行过讨论,但是仍旧无解,具体请见博文及文后回复《Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)

最后,该工具为我们生成的代码大致如下:

image


本文转自最课程陆敏技博客园博客,原文链接:http://www.cnblogs.com/luminji/archive/2011/06/17/2083973.html,如需转载请自行联系原作者

相关文章
|
C# 前端开发
silverlight,WPF动画终极攻略之阳光灿烂篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之阳光灿烂篇(Blend 4开发) 前面我们画了一只会飞动的小鸟,今天我们在目标是一个会发光的太阳。本章节的动画虽然简单,但是实现的效果可是一点也不打折。
1151 0
|
C#
silverlight,WPF动画终极攻略之会飞的小鸟篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之会飞的小鸟篇(Blend 4开发) 本教程基本涵盖了WPF和silverlight中的各种动画。先上张效果图。 声明下,这个做的不是让大家照搬的,只是让大家熟悉下动画效果,这个成品基本涵盖了sl里面所有的动画效果。
1337 0
|
C#
silverlight,WPF动画终极攻略之迟来的第三章 动画整合篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之迟来的第三章 动画整合篇(Blend 4开发) 有个问题想请教下大家,我仿了腾讯的SL版QQ,相似度95%以上。我想写成教程教大家怎么开发出来,会不会有版权什么问题的。
1067 0
|
前端开发 C#
silverlight,WPF动画终极攻略之白云飘,坐车去旅游篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之白云飘,坐车去旅游篇(Blend 4开发) 这章有点长,所以我分成了两章。这一章主要是准备工作,差不多算美工篇吧,这章基本不会介绍多少动画效果,主要讲的是blend中工具的使用,利用哪些工具做出哪些效果。
1174 0
|
前端开发 C#
silverlight,WPF动画终极攻略之番外 3D切换导航篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之番外 3D切换导航篇(Blend 4开发) 这篇介绍的是3D导航,点击图标,页面360°翻转的效果!有什么不足的欢迎大家指出来。 1.新建一个usercontrol,命名为menu. 2.按照下图设置一下属性。
1221 0
|
测试技术 Go 数据库
使用Entity Framework和WCF Ria Services开发SilverLight之1:简单模型
本文目的是通过Silverlight ria service完成一次数据的读取过程,并且在此基础上建立测试项目。 Ria service借助于WCF和ADO.NET Entity Framework构建分布式开发框架。
955 0
|
C# Windows
怎样使用.NET RIA Services 创建 Silverlight Business Application(一)
HRApp 项目是.NET RIA Services MSDN  上的案例,一个使用Silverlight 3.0 + .Net RIA Service 构建的完整商业应用程序, 学习英文版的开发手册总是比较费力的,所以顺带着简略翻译一下,也有部分自己心得体会,不足之处还望大家多多交流。
1042 0
|
10月前
|
前端开发
WCF更新服务引用报错的原因之一
WCF更新服务引用报错的原因之一
|
9月前
|
C# 数据安全/隐私保护
c#如何创建WCF服务到发布(SqlServer版已经验证)
c#如何创建WCF服务到发布(SqlServer版已经验证)
38 0
|
9月前
|
安全 数据库连接 数据库
WCF服务创建到发布(SqlServer版)
在本示例开始之前,让我们先来了解一下什么是wcf? wcf有哪些特点? wcf是一个面向服务编程的综合分层架构。该架构的项层为服务模型层。 使用户用最少的时间和精力建立自己的软件产品和外界通信的模型。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案。且能与已有系统兼容写作。 简单概括就是:一组数据通信的应用程序开发接口。
62 0