一般数据库中,有实体表的时候,我是这么处理的。
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格式字符串的?