码迷,mamicode.com
首页 > 其他好文 > 详细

在 LINQ to Entities 查询中无法构造实体或复杂类型“Cits.Data.LineImg”。

时间:2018-08-11 12:30:27      阅读:617      评论:0      收藏:0      [点我收藏+]

标签:enum   esc   linq   span   代码   构造   list()   des   img   

错误代码:

adlist = _sImg.Where(o => o.AdType == 11).OrderBy(o => o.Desc).OrderByDescending(o => o.Id).Select(i => new LineImg
{
    Url = i.Url,
    ImgUrl = i.ImgUrl,
    Title = i.Title
}).ToList();

修正代码:

adlist = _sImg.Where(o => o.AdType == 11).OrderBy(o => o.Desc).OrderByDescending(o => o.Id).Select(i => new LineImg
{
    Url = i.Url,
    ImgUrl = i.ImgUrl,
    Title = i.Title
}) as List<LineImg>;

 

ef原生错误代码:

 

db.Set<LineImg>().Where(o => o.AdType == 11).OrderBy(o => o.Desc).OrderByDescending(o => o.Id).Select(i => new LineImg
{
    Url = i.Url,
    ImgUrl = i.ImgUrl,
    Title = i.Title
}).ToList();

 

ef原生正确代码:

 

var list = db.Set<LineImg>().Where(o => o.AdType == 11).OrderBy(o => o.Desc).OrderByDescending(o => o.Id).Select(i => new
{
    Url = i.Url,
    ImgUrl = i.ImgUrl,
    Title = i.Title
}) as IEnumerable<LineImg>;
var list = db.Set<LineImg>().Where(o => o.AdType == 11).OrderBy(o => o.Desc).OrderByDescending(o => o.Id).Select(i => new dto
{
    Url = i.Url,
    ImgUrl = i.ImgUrl,
    Title = i.Title
}).ToList();

网上说“ linq 选择数据时候 不能new 已知的对象,只能匿名的。 但是如果从一个 List 列表 就可以new 已知的类。”这个说法不认同。

在 LINQ to Entities 查询中无法构造实体或复杂类型“Cits.Data.LineImg”。

标签:enum   esc   linq   span   代码   构造   list()   des   img   

原文地址:https://www.cnblogs.com/coce/p/9459147.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!