使用Entity Framework和WCF Ria Services开发SilverLight之6:查找指定字段

简介:

对数据库表指定字段的查找,又是实际工作中的一项必要工作。SL客户端仅获取实际需要的指定的字段,好处很多,比如:有助于减少网络流量。

有两类这样的使用场景。

1:联表查询不需要外键表

在上一篇中,我们使用了联表查询,在联表查询中,DAL部分的代码是这样的:

image

我们已经指出,无论是你是否使用Include方法,只要实体类指定了Include特性,客户端都会获取到被关联的Course记录。诚然,有时候我们需要满足联表查询,但是其他时候我们不需要。

2:单表中仅仅需要部分字段

比如:一个表有5个字段,我仅需要返回两个字段。

3:实现

要满足这样的需求,仅仅需要修改DAL部分。

第一种需求,取出指定字段:

image

这段代码所生成的SQL语句如下:

SELECT
[Extent1].[DepartmentID] AS  [DepartmentID],
[Extent1].[ Name ] AS  [ Name ]
FROM  [dbo].[Department] AS  [Extent1]

可以发现,EF只为我们查询两个字段。并且,EF也没有为我们自动关联Course表的数据。

注意,在这段代码中,我们先select new了一个匿名类型,这样就绕过了DbContext中的DbSet<T>对于Department类型校验。如果我们想当然的将这段代码写成:

image

那么,我们会发现无法获取数据,跟踪错误,会发现:

   {"The entity or complex type 'SchoolData.Department' cannot be constructed in a LINQ to Entities query."}    System.SystemException {System.NotSupportedException} 
最终运行的效果如下:

image

回过头来说,如果既要指定字段,又要联表查询,应该怎么做呢?如下:

image

最终运行效果如下:

image

由于本部分的代码在上一篇中修改而成,故不再提供下载。


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

相关文章
|
C# 前端开发
silverlight,WPF动画终极攻略之阳光灿烂篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之阳光灿烂篇(Blend 4开发) 前面我们画了一只会飞动的小鸟,今天我们在目标是一个会发光的太阳。本章节的动画虽然简单,但是实现的效果可是一点也不打折。
1148 0
|
C#
silverlight,WPF动画终极攻略之会飞的小鸟篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之会飞的小鸟篇(Blend 4开发) 本教程基本涵盖了WPF和silverlight中的各种动画。先上张效果图。 声明下,这个做的不是让大家照搬的,只是让大家熟悉下动画效果,这个成品基本涵盖了sl里面所有的动画效果。
1336 0
|
C#
silverlight,WPF动画终极攻略之迟来的第三章 动画整合篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之迟来的第三章 动画整合篇(Blend 4开发) 有个问题想请教下大家,我仿了腾讯的SL版QQ,相似度95%以上。我想写成教程教大家怎么开发出来,会不会有版权什么问题的。
1062 0
|
前端开发 C#
silverlight,WPF动画终极攻略之白云飘,坐车去旅游篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之白云飘,坐车去旅游篇(Blend 4开发) 这章有点长,所以我分成了两章。这一章主要是准备工作,差不多算美工篇吧,这章基本不会介绍多少动画效果,主要讲的是blend中工具的使用,利用哪些工具做出哪些效果。
1171 0
|
前端开发 C#
silverlight,WPF动画终极攻略之番外 3D切换导航篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之番外 3D切换导航篇(Blend 4开发) 这篇介绍的是3D导航,点击图标,页面360°翻转的效果!有什么不足的欢迎大家指出来。 1.新建一个usercontrol,命名为menu. 2.按照下图设置一下属性。
1220 0
|
测试技术 Go 数据库
使用Entity Framework和WCF Ria Services开发SilverLight之1:简单模型
本文目的是通过Silverlight ria service完成一次数据的读取过程,并且在此基础上建立测试项目。 Ria service借助于WCF和ADO.NET Entity Framework构建分布式开发框架。
954 0
|
数据库 测试技术 安全
使用Entity Framework和WCF Ria Services开发SilverLight之2:POCO
在上一篇中《使用Entity Framework和WCF Ria Services开发SilverLight之1:简单模型》我们提出这类简单模型的几个问题: 1:实体模型被紧耦合在EDM中,同时它不能项目(模块)使用。
1208 0