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

问题描述

请教一个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格式字符串的?

解决方案

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

解决方案二:

问题出在这里:

    select new {
                            ImateName = d.ImateName
                       };

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

select new YourClassName {
                            ImateName = d.ImateName
                       };

时间: 2024-10-01 18:50:12

linq-请教一个EF框架序列化的问题的相关文章

net-用个EF框架的泛形类(BaseDal),按条件查询 的方法,排序的lambda表达式不知道写

问题描述 用个EF框架的泛形类(BaseDal),按条件查询 的方法,排序的lambda表达式不知道写 .net的mvc开发中,我用了一个EF框架的泛形类(BaseDal),我在里面写了一个按条件查询 的方法,但是那个排序的lambda表达式我不知道写 public static List<T> GetPageListBy<TKey>(int pageIndex, int pageSize, ref int rowCount, System.Linq.Expressions.Exp

请教一个关于EF框架的问题,数据库没有设置主键怎么进行增删改

问题描述 最近公司要求我使用C#开发服务接口,使用EF框架连接Oracle数据库,进行数据的操作,由于我之前没有深入接触过EF,现在对一些没有设置主键的表进行插入时发生出错,提示"更新条目时出错."请教一下要怎么解决这个问题,谢谢了!! 解决方案 解决方案二:急,望知道的大神告诉我一下!!!解决方案三: 解决方案四:表没设置主键,ef不能插入数据解决方案五:用sql写啊.解决方案六:虽然表没有定义主键,但一定有一个或几个字段能够代表行的唯一性,它(们)就是主键的字段,找到以后,到EF设

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装          (5):前台Jquery easyUI实现   (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSessi

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(11)-验证码实现和底层修改

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(11)-验证码实现和底层修改 ASP.NET MVC+EF框架+EasyUI实现权限管系列  (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装   (5):前台Jquery easyUI实现    (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSession线程内唯一    (9):TT摸版的学习   (1

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证)

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    (5):前台Jquery easyUI实现    (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSession线程内唯一     (9):TT摸版

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) 前言:这篇博客开始我们便一步一步的来实现这个权限系统的初步设计-框架搭建,首先我要说的是我们需要开发工具Visual Studio 2012或者10也行,其次是我们要有SQL Server数据库,如果是Visual Studio 2010的话,你还要安装MVC4的开发文件,这个是吗?我不记得了,谁可以回答我一下的,我一直用2012,都是集成

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装  (5):前台Jquery easyUI实现   (6):EF上下文实例管理   (7):DBSession的封装   (8):DBSession线程内唯一 前言:前面我们基本已经完成了一个Demo,我们在后面的

ef-C# EF框架DBContext,using的问题

问题描述 C# EF框架DBContext,using的问题 看到大家使用DBContext都是 using(var test=new DBContext()) { //Doing } 当我一个action里面需要访问多个模块.每个模块都需要访问数据库.这样就需要using和new DBContext很多次. 那么我能否在OnActionExecuting 中new DBContext,然后再OnActionExecuted 或者OnResultExecuted 再进行DBContext.Dis

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(16)-类库架构扩展以及DLL文件生成修改和用户的简单添加

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(16)-类库架构扩展以及DLL文件生成修改和用户的简单添加 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    (5):前台Jquery easyUI实现    (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSession线程内唯一