请教一个EF框架序列化的问题

一般数据库中,有实体表的时候,我是这么处理的。

             var list = from d in db.Hospital.ToList()
                       where d.State == 0
                       orderby d.AddTime descending
                       select d;

            ToJsonSuccess(new ArrayList(list.ToArray()));

假设ToJsonSuccess这个方法是一个将ArrayList对象转化成json格式的方法,我们不去管它。那么问题来了,用linq语法进行jion的时候,并没有实体对象作为映射,如下:

             var list = from d in db.Imate
                       join dd in db.Department on d.DepartmentCode equals dd.DepartmentCode
                       into imateinfo
                       from g in imateinfo.DefaultIfEmpty().ToList()
                       where g.State == 0
                       select new { 
                            ImateName = d.ImateName
                       };

            ToJsonSuccess(new ArrayList(list.ToList().ToArray()));

这个时候就会报错了,因为无法映射到实体类,.ToArray()就报错了,请问各位大神,你们是这么解决linq联合查询后,生成json格式字符串的?

2个回答

ToList()可以成功,ToArray()没道理不成功,你到底报什么错。

问题出在这里:

    select new { 
                            ImateName = d.ImateName
                       };

第二个查询你生成的结果是匿名类型,所以导致 出错,你用强类型作为结果试试看:

select new YourClassName { 
                            ImateName = d.ImateName
                       };

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
EF 4.1 序列化问题
EF 4.1 里面的model.tt 里面的类都是DataContract的方式,为什么这能进行序列化呢?
请教一个EF的问题
已经生成了edmx文件 但是发现数据库没弄对 我不想重新删了再新增了 请问如何修改
【EF框架】EF框架的开发方法
前言    EF框架具有有三种数据持久化的方式,分别为Code First,Model First,Database First.看一下它们都有什么联系?叙述EF框架的三种工作方式  1.Database First是基于已存在的数据库,利用某些工具(如VS提供的EF设计器)创建实体类,数据库对象与实体类的匹配关系等,你也可以手动修改这些自动生成的代码及匹配文件。也就是从一个数据库开始,然后生成实
请教一个序列化的问题
各位大侠:rn 我定义了如下一个类,以下是我的代码;rn//in the head filernclass CPosition : public CObject rnrn DECLARE_SERIAL(CPosition)rnpublic:rn CPoint GetValue(int index);rn void SetValue(int index,CPoint point);rn void Serialize(CArchive &ar);rn CPosition();rn virtual ~CPosition();rnpublic:rn CPoint m_ptPosition[100];rn int m_nCount;rnrn;rn//in the implement filernrnIMPLEMENT_SERIAL(CPosition,CObject,0)rnrnCPosition::CPosition()rnrn m_nCount = 0;rn for(int i=0;i<100;i++)rn m_ptPosition[i] = CPoint(0,0);rnrnrnCPosition::~CPosition()rnrnrnrnrnvoid CPosition::Serialize(CArchive &ar)rnrn CObject::Serialize(ar);rn if(ar.IsStoring())rn rn ar<>m_nCount;rn for(int i=0;i>m_ptPosition[i];rn rnrnrnvoid CPosition::SetValue(int index, CPoint point)rnrn m_ptPosition[index] = point;rnrnrnCPoint CPosition::GetValue(int index)rnrn return m_ptPosition[index];rnrn问提是:rn当我点击”保存“时,可以保存,但当我点击“打开”时,视无法出现所保存的数据。但是,如果我不是这样,而是在Class Document中,定义成员 CPoint m_ptPosition[100]; int m_nCount;rn重写Serialize(CArchive& ar),代码如下:rnvoid CXXXDoc::Serialize(CArchive& ar)rnrn if (ar.IsStoring())rn rn // TODO: add storing code herern ar<>m_nCount;rn for(int i=0;i>m_ptPosition[i];rn rnrn此时,可以打开所保存的数据。这是为什么?rn如果,我要以CPosition方式实现读写数据,还需做那些工作??rn 在此,先谢谢了!
请教一个序列化问题
下面是我写的一个类,我要将这个类序列化。但是每当从文件中读取该类的时候总是报错:文件含有非预期的对象。主要问题出在了CWordNodeList m_NodeList;上,如果该列表中有元素则序列化出错。有什么办法来解决这个问题?rnrnclass CWordNode;rnrntypedef CTypedPtrList CWordNodeList;rnrnclass CWordNode : public CObject rnrn DECLARE_SERIAL(CWordNode)rnpublic:rn CWordNode();rn virtual ~CWordNode();rnrn CWordNodeList m_NodeList;rn CString m_NodeName;rn CStringArray m_WordList;rnrn virtual void Serialize(CArchive& ar);rn;rnrn序列化代码rnrnvoid CWordNode::Serialize(CArchive& ar)rnrn AFX_MANAGE_STATE(AfxGetStaticModuleState());rn ASSERT_VALID(this);rnrn if(ar.IsStoring())rn rn ar << m_NodeName;rn rn elsern rn ar >> m_NodeName;rn rn m_WordList.Serialize(ar);rn m_NodeList.Serialize(ar);rn CObject::Serialize(ar);rnrn
请教 一个序列化的问题
winform 控件 嵌入到ie中 ,在winform 下是可以序列化和反序列化所保存的文件的 但在浏览器中只能序列化 确不能反序列化 哪位知道 请问是什么原因?
请教一个ef的查询问题
实体:rnoperator //管理员rnrnint operatorID;rnint OperatorName;rnrnvirtual Icollection warehouses;rnrnrnrnrnWarehouse //仓库rnrnint warehouseID;rnint WarehouseName;rnrnrn现在给定一个operatorID,比如OperatorID=5,想取出他所关联的仓库,要求结果为List这样的强类型Listrnrn对导航属性不是太清楚,也看了一些资料,还是有点糊涂,请各位能给个答案,谢谢rnrnrn
EF框架的简单问题
刚刚接触ORM在看项目EF代码的时候有点问题,多谢指教。rnrn如下两个DbContext的定义rnrn[code=csharp]rn public class fooDbContext : DbContextrn rn public DbSet foo get return this.Set(); rn rn rn[/code]rnrn与rnrn[code=csharp]rn public class fooDbContext : DbContextrn rn public DbSet foo get;set;rn rn rn[/code]rnrn有什么区别呢?
EF 框架删除问题
[size=18px]弄EF的时候遇到了这样的问题。rn比如说有班级表ClassTb,学生表StudentTb,一个班级有很多学生rn需求是这样的rn我通过ClassTb创建的上下文查找出比如班级Id为1的对象,怎么通过这个班级对象去删除这个班级下面的学生数据呢?rn[/size]
EF框架数据库操作的问题
List DATA = new List();rn foreach (var admin1 in adminList)rn rn //遍历所有的admin,获取每一个admin的登录信息rn List data = await admin.FindAdminLoginRecordAndAdminByadminId(admin1.id);rn data = data == null ? new List() : data;rn DATA = DATA.Concat(data).ToList();rn rn //该排序方法执行时间过久rn [color=#FF0000] DATA = DATA.OrderByDescending(a => a.landcom_admin_login_record.time).ToList();rn[/color]rn想不通红色这句为什么会执行数据库操作,因为是自学。我的理解是不是只有存在DbContext的派生类对象才能操作数据库 还有个问题就是为什么这句执行的这么慢,我看vs中这句一直在查询。这不就是给集合根据集合中元素的某个值进行排序嘛,有点懵rn
EF框架
EF   实体框架(Entity Framework)是微软以ADO.NET为基础开发出来的对象关系映射(ORM-Object Relation Mapping)解决方案。没有EF框架之前一般通过设置Connection,Command,Dataset,DataReader等进行与数据库之间的交互。在EF框架里则将该部分进行了封装。   简单来说,因功能需求修改实体而引起数据库也需要修改时,我们就...
【EF框架】聊一聊EF框架
EF框架的全称EntityFramework ,Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。叙述ORM   ORM是一种将数据从域对象存储到关系数据库(如MS SQL Server)的工具,以自动化的方式,无需太多编程。
【Dongle】【EF】EF框架学习
EF, Entity FrameWork,实体框架。利用ORM思想,根据实体对象操作数据表中数据的一种面向对象的操作框架。
请教一个ef框架保存对象集合乱序的问题
哪位大神帮忙解解惑,问题如下:rn有一个user对象,我创建了一个listrnlist users=new list();rnusers.add(new user() id=1);rnusers.add(new user()id=2);rnusers.add(new user()id=3);rnusers.add(new user()id=4);rnusers.add(new user()id=5);rnrnforeach user in usersrnrn db.Entry(user).State=EntityState.Added;rnrndb.SaveChanges();rnrn保存完后数据库中的顺序不是我创建的顺序,变成了(id=2,1,3,4,5),每次不一样,请问这个应该如何解决
.net MVC EF框架的一个问题
我有2张表rn一张上传表,其中有2个用户的id字段,分别是UploadUserId, RecordUserId rn一张user表,其中就有userid,和name等信息rn这样的结构,我怎么在uploadControll中,取到UploadUserName, RecordUserName?rn直接在uploadModel中增加User对象,程序直接报错,说是userid不存在,我分析如果upload表只有一个userid,这样就不会有问题rn我现在的需求怎么实现呢?rnrnrn另:rn请问一下这样的Sql语句翻译成 ef 的代码应该怎么写啊?rnselect t1.UploadUserId, t1.RecordUserId , rn(select t2.Name from UserProfile t2 where t1.UploadUserId = t2.UserId) as 上传人 ,rn(select t2.Name from UserProfile t2 where t1.RecordUserId = t2.UserId) as 采集人 rnfrom Files t1
请教高手一个序列化的问题
在将一个对旬序列化成XML文件时,.NET默认会在节点前加上一个命名空间,但我如不想加这个命名空间,该怎么办呢??
请教一个菜鸟问题!序列化
implements serializable 是序列化接口rn 我想问问序列化有什么用啊?是干什么用的?
请教一个关于序列化的问题.
----------------------------rn[Serializable]rnpublic class ClassArnrn private int a;rn public int b;rn ......rnrn--------------------------------rn//ClassB 类中 存在有一个 ClassA 的变量rn//ClassB 的序列化和反序列化的过程只要求rn//保存和还原 ClassA 变量的内容就可以,其他的不需rnrnpublic class ClassB : Control, ISerializablernrn public b()rnrn protect b(SerializationInfo info, StreamingContext context)rn rn //这里应该怎么实现?rn rn private ClassA _AInfo;rn public ClassA AInforn get return _AInfo;rn rn public void GetObjectData(SerializationInfo info, StreamingContext context)rn rn //这里该怎么写?rn //info.AddValue("BLLInfo", BLLInfo);rn //这样写好像不行rn rnrnrn
请教一个WCF+EF+WINFROM 序列化问题。
EF的对象有 主表Department 从表DepartmentPararn当WINFROM引用WCF后,调用GetDepartmentByID返回一个Department 对象,这个对象已经包含DepartmentPara的集合信息.rn然后我调用WCF的Update(Department department)时,报错。rn提示如下:rn 无法将 EntityReference 对象序列化。当 RelationshipManager 属于不实现 IEntityWithRelationships 的实体对象时,无法将此类型的对象序列化。rnrn代码: rnrn WcfDepartment.DepartmentClient client = new WcfDepartment.DepartmentClient();rnDepartment dept = (Department)client.GetDepartmentByID(1);rndept.DepartmentName = "abcdefg";rndept.DepartmentParas[0].ParaValue = "gggggggggggggg";rnclient.Update(dept);//这里出错rnlistDm = client.GetAllDepartment();
请教一个关于序列化的问题
在编程中遇到access violation的错误,发生在rn CRuntimeClass* pClassRef = pOb->GetRuntimeClass(); rnrn类序列化代码,如下:rn void CSlot::Serialize(CArchive& ar)rnrn CObject::Serialize(ar);rnrn if (ar.IsStoring())rn rn ar << m_pPropertySlot; rn rn elsern rn ar >> m_pPropertySlot;rnrn rnrn m_pPropertySlot是该类的指针类型的成员数据,请问为什么它在序列化过程中会出现access violation错误?谢谢
C# EF框架修改问题
我数据库只有一个字段不是主键,但是导入EF实体模型类变成了主键不允许修改怎么办,我要修改他。rn
.Net Mvc + EF框架问题
现在我有一个框架,是用 Ef + AutoFac搭建的,前端有wap、web Api、web三个端,用的数据库是sql server , 现在要用mongodb记录用户操作记录,用作大数据分析,mongodb框架已经搭好了,就是不知道用什么方式来收集数据,不管 把数据采集放在service还是前端,后期都非常不好维护,因为要记录的点太多,实在不好操作,求各位大神给个建议。因为囊中羞涩,分实在不多,请见谅。。。。。
EF Navigate Property 属性序列化问题
User表:rnIDrnUserNamernrnCoustomer表rnIDrnCoustomerNamernCreatedBy FK UseridrnLastModifiedBy FK Useridrnrnrn生成出的Coustomer实体会带有一个名为CreatedUser(自己改的名字是外键User表的)的Navigate Property属性,rn取值的时候都是有值的,就是通过WCF后到客户端就没值了,是序列化没成功呢?还是根本就没序列化这个属性。其他非Navigate Property的都有值。rn求高手赐教啊
entity ef model first 模型序列化的问题
entity ef model first 模型序列化的问题rnrn我用model first的方式创建了entity项目,模型都是从数据库里生成的 连带外键关系rnrn生成后发现模型默认没有标记为可序列化【Serializable】,如果手动修改模型类1是量太大了2是每次从数据库更新都需要重新标记为可序列化。rnrn大家有没有好的方式解决这个问题? 我之所以要序列化模型是为了保存一些状态在页面上 使用viewstate,当然session可以但我觉得使用session不是个好办法。rnrn求解决方法
ORM框架,EF框架详解
ORM框架,EF框架详解,资源来自来自黑马,如果有侵权,立即删除
请教一个框架的问题。
请看下面的代码:rnrnrnrnrnrnrnrn[color=#FF0000][/color]rn请问高手,这里为什么不能再添加,结束嵌套,而要在后面中定义才能运行成功?rnrnrnrn[color=#FF0000]rn[/color]rnrn
请教一个框架的问题
如果我想显示一个框架,但不希望要菜单,怎么做呢?rn因为我如果只添加工具栏,不加菜单的话,显示的时候会报错,MoveWindow的那里就通不过,应该如何处理呢?
请教一个框架问题
welcome.htm是一个框架rnrnrn当用户未通过认证访问left.aspx和main.aspx时,都会重定向到index.aspxrn这样当未通过认证的用户访问welcome.htm时,left和main都是index.aspx,怎样实现访问welcome.htm时只出现一个index.aspx?rnrnthanks
请教一个关于EF多对多关联的问题
[img=http://hi.csdn.net/attachment/201006/22/529233_12772249931o98.jpg][/img]rnrn关系如图。rnrnB表中已经存在数据rnBID  BNamernrn1    b1rnrn2    b2rnrn3    b3rnrnrn我想新增一条A表记录,然后该记录和B表中的1 2 条关联,请问代码怎么写,谢谢
兔子督察在么,请教一个ef的问题.
最近使用ef做项目,一开始我每次操作都用using 这种方式释放 但是后来因为要用到导航属性 所以去掉了using rn我在一个功能上改变来了一个字段的值 在另一个操作上取这个值 但是每次这个值都是没更新之前的 我一直没找到头绪....
序列化框架
<p>n 介绍大数据技术生态圈主流技术框架的应用与发展,介绍如何搭建Hadoop大数据分布式系统集群平台、大数据分布式文件系统HDFS 、大数据分布式并行计算框架MapReduce。n</p>n<p>n 本课程介绍大数据的学习基础。n</p>n<p>n 本课程介绍大数据的背景。n</p>n<p>n 带你深入了解大数据,对大数据有不同的认识。n</p>n<p>n 介绍大数据的基本概念和技术生态圈。n</p>n<p>n 本课程以杨力老师主编的《Hadoop大数据开发实战》为参考,书中详细的介绍了各个步骤,有需要的同学可以留意一下。n</p>n<p>n 该课程的后续课程为杨力老师主讲的《hive大数据离线应用开发》,想要更进一步的同学可以继续观看杨老师的系列视频。n</p>
EF与ORM的关系及EF框架的搭建
what EF是什么? Entity Framework——实体框架。微软以ADO.NET为基础发展的一个【ORM】框架 ORM是什么? object relational mapping——对象关系映射。用于实现面向对象编程语言里不同类型数据之间的转换。可以理解为对象模型和关系型数据库结构之间的转换 EF和ORM的关系: ORM是一种思想,而EF是实现这种思想的一种框架。将表实体的变化...
EF框架介绍
实体框架(Entity Framework)是微软以ADO.Net为基础开发出来的对象关系映射(ORM)解决方案,它解决了对象持久化问题,将程序员从编写麻烦的SQL语句当中解放出来。
封装ef基类框架
分享一下 使用EF时,对增删改查基本操作的封装代码 ef重构基类;抛砖引玉,仅供参考; ef增删改差扩展方法!
EF框架实现多表查询
EF框架实现多表查询1.基本思想在EF中因为对属性为类和属性为集合的用到了 [JsonIgnore]特性所以给前台返回数据时无法序列化(return json(list) list不会包含有 [JsonIgnore]特性的类)所以想要多表查询就要添加特殊属性含Extend的属性就是对应表外键的属性2.创建过程1&amp;gt;.创建一个model的partial类 public partial class...
EF框架的增删改查语法
查询: 第一种:Linq语法:         from 变量名 in db.对象名 where 条件;         orderby、select、join 第二种:Lambda语法:         db.对象名.Where(条件);         OrderBy()、OrderByDescending()、GroupBy()、Select()          增加: 1. 将对象放入E...
EF框架的学习笔记一
    ORM思想就是把表和表实体的相互转化,就是把表和类相对应,通过映射文件来指定。每一个类对象对应表中的一条数据,通过对类对象对操作进而转化到表中数据的变化。    EF(Entity FrameWork)是实现了ORM思想的一种框架,类似的还有NHibernate,Linq to sql等,其中NHibernate是java平台Hibernate翻译成.Net版本的,用法和EF基本相同。  ...
WCF,EF框架
利用微软的WCF,EF技术构建的框架,有WCF通讯,控制层,EF数据持久层,在此基础上可以构建自己的WCF框架
EF框架例子
EF框架的一个简单例子,继承接口,基类简单实现
EF框架增删改
EF框架欢迎大家看看交流学习,-------------------------------------------------------------------------------------------------------
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法