Linq结果直接返回实体对象

说到Linq返回结果集,我们一般都会这样做:

var result=from s in db.Students
                 join c in db.Classes on s.ClassID equals c.ClassID
                  select new
                       {
                           Id = s.Id,
                           Name = c.Name,
                           Address = c.Address
                       };

然后我们就直接操作result结果集或者是再进一步转换为实体对象。

现在,我们可以直接让Linq返回实体对象,这样就省去转换的麻烦了。代码如下:

IEnumerable<User> result = from s in db.Students
                        join c in db.Classes on s.ClassID equals c.ClassID
                       select new User
                       {
                           Id = s.Id,
                           Name = c.Name,
                           Address = c.Address
                       };

请注意以上两段代码的区别。

时间: 2024-10-13 18:46:49

Linq结果直接返回实体对象的相关文章

Git.Framework 框架随手记--ORM查询返回实体对象

使用ORM有一个优势,可以通过某种机制将数据库中的数据转化为自己想要的对象形式数据.本章记录一下如何使用Git.Framework返回实体对象 一. Git.Framework 中提供的方法 在Git.Framework中有七个方法可以返回实体对象,先简答的看看这里的方法描述 (1) T GetSingle(int id); (2) T GetSingle(object value); (3) T GetSingle(T entity); (4) V GetSingle<V>(T entity

CAD由实体id返回实体对象

IMxDrawDatabase::ObjectIdToObject 实体id返回实体对象,具体详细如下: 参数 说明 [in] LONGLONG lId 实体id JS代码中绘一个直线,得到直线id,再调该得到直线对象,然写扩展数据的例子.    function DoCommandEventFunc(iCmd) {         if (iCmd == 1)         {         var mxOcx = document.all.item("MxDrawXCtrl")

CAD由实体句柄返回实体对象(com接口c#语言)

IMxDrawDatabase::HandleToObject 给一个实体的句柄,返回实体的对象,具体详细如下: 参数 说明 [in] BSTR handle 实体的句柄 C#代码得到多线的端点,并成填充对象:         private void TestFill(String sHandle)         {             MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();         

Objective-C中ORM的运用:实体对象和字典的相互自动转换

http://blog.csdn.net/cooldragon/article/details/18991973 iOS开发中基于ORM的框架很多,如SQLitePersistentObject,实际开发中需求不同或场景不同,方式方法也就不同,有时项目中用不上ORM框架,或者出于公司或项目组习惯或规范.实际项目需求或技术要求等等原因,不会采用完整的ORM框架,但一些重复啰嗦的代码使用一定的ORM功能还是很能提高效率的. 基于性能或灵活性考虑,或复杂查询的需求,或项目组要求,项目中数据库存取一般直

利用HttpWebRequest实现实体对象的上传

一 简介 HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择.它们支持一系列有用的属性.这两个类位 于System.Net命名空间,默认情况下这个类对于控制台程序来说是可访问的.请注意,HttpWebRequest对象不是利用new关键字通过构 造函数来创建的,而是利用工厂机制(factory mechanism)通过Create()方法来创建的.另外,你可能预计需要显式地调用一个“Send”方法,实际上不需要.接下来调用 HttpWebRequ

奇妙的动态代理:EF中返回的对象为什么序列化失败

今天有如鹏的学生遇到一个问题:把一个对象保存到Session中(进程外Session)后,Web服务器重启,当从Session读取这个对象的时候报错,提示是一个“T_Users”后面跟着一大串数字的类型,不是“T_Users”类型. 凭着感觉,我问“这个对象是普通对象还是什么对象”,回复说“是Entity Framework返回的对象”,瞬间我知道了:是延迟加载造成的.下面写个程序验证一下. 数据库里建立两张表:一张T_Persons表,一张T_Dogs表,T_Dogs表中有一个MasterId

简单封装sqlite3 实现实体对象与关系型数据库的相关操作【IOS】

源码如下,只有一个类文件 // //  DBHelper.h // //  Created by Jason_Msbaby on 15/10/15. //  Copyright ? 2015年 张杰. All rights reserved. // /**  *  简单封装了对于sqlite的使用 没有加入对事务及其他复杂的特性     基于传入sql语句的方式进行执行     使用单例模式     根据model对象自动创建表 只支持 NSInter NSString float 数据类型的支

Hibernate中实体对象的状态

实体对象的状态 这里的实体对象是指Hibernate的O/R映射关系中的域对象(即O/R中的O).实体对象的生命周期是指实体对象由产生到被GC回收的一段过程,实体对象的生命周期包括3种状态:自由状态(Transient),持久状态(Persistent)和游离状态(Detached). 1.自由状态 自由状态是指实体对象在内存中自由存在,但此时它与数据库无关.主要有一下两个特征: >> 不处于Session的缓存中,也就是不被任何一个Session关联. >> 在数据库中没有对应的

Andorid Binder进程间通信---Binder本地对象,实体对象,引用对象,代理对象的引用计数

本文参考<Android系统源代码情景分析>,作者罗升阳. 一.Binder库(libbinder)代码: ~/Android/frameworks/base/libs/binder ----BpBinder.cpp ----Parcel.cpp ----ProcessState.cpp ----Binder.cpp ----IInterface.cpp ----IPCThreadState.cpp ----IServiceManager.cpp ----Static.cpp ~/Androi