在 LINQ to Entities 查询中无法构造实体或复杂类型
2018-01-19 15:23
357 查看
是,要保证EF认识你查询出来的类型,个人经验,EF查询时仅支持表结构生成的映射实体对象,和简单的C#类型,要直接返回个人新定义的类型,需用匿名类型进行转化
C# code?
ToList 之后即真正计算之后,再转化为其他类型
--------------------------------------------------------------------
---------------------------------------------------------------
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/767e2d2163ede77cadd9504a9ba3fa55.jpg)
在new复杂类型之后调用 .AsNoTracking()就好,前提是你这个对象不需要增删改
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/e0d112c72e8bb5e66a5cd41188050b49.jpg)
----------------------------------------------
EF 里面是不能直接new出它自己的实体类。
先查询出匿名类,然后再new
var aaa = query.ToList().Select(data => new TB_Item { num_iid = data.A.Key, num = data.A.SumNum, title = data.B.FirstOrDefault(U => U.num_iid == data.A.Key).title }).ToList();
注意看,我这个代码比你的多了个.ToList()。
Linq to Entities
C# code?
--------------------------------------------------------------------
---------------------------------------------------------------
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/767e2d2163ede77cadd9504a9ba3fa55.jpg)
在new复杂类型之后调用 .AsNoTracking()就好,前提是你这个对象不需要增删改
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/e0d112c72e8bb5e66a5cd41188050b49.jpg)
----------------------------------------------
EF 里面是不能直接new出它自己的实体类。
先查询出匿名类,然后再new
var aaa = query.ToList().Select(data => new TB_Item { num_iid = data.A.Key, num = data.A.SumNum, title = data.B.FirstOrDefault(U => U.num_iid == data.A.Key).title }).ToList();
注意看,我这个代码比你的多了个.ToList()。
Linq to Entities
相关文章推荐
- 在 LINQ to Entities 查询中无法构造实体或复杂类型
- 在 LINQ to Entities 查询中无法构造实体或复杂类型“Mvc_MusicShop_diy.Models.Order”
- 在 LINQ to Entities 查询中无法构造实体或复杂类型 "Models.Order”
- 在 LINQ to Entities 查询中无法构造实体或复杂类型
- 在 LINQ to Entities 查询中无法构造实体或复杂类型
- Linq to Entities中无法构造实体或复杂类型
- Linq to SQL中报错"不允许在查询中显式构造实体类型"怎么解决
- Lambda表达式--使用方法语法的复杂查询: join (在单个 LINQ to Entities 查询中的两个结构上不兼容的初始化过程中出现类型)
- Linq to SQL中报错"不允许在查询中显式构造实体类型"怎么解决
- LINQ to Entities/实体综合语言查询
- 谁说LINQ复杂查询不支持返回实名类型~定义实体有讲究
- Linq复杂查询 LINQ to Entities: Combining Predicates
- LINQ to Entities 不支持指定的类型成员“ReviewRemainDays”。只支持初始值设定项、实体成员和实体导航属性
- 无法将类型“System.Nullable`1”强制转换为类型“System.Object”。LINQ to Entities 仅支持强制转换 EDM 基元或枚举类型。
- 解决linq中不允许在查询中显式构造实体类型
- linq to sql查询中返回linq自动建立的实体类型)
- LINQ to Entities 不识别方法“XX”,因此该方法无法转换为存储表达式
- 解决 ”不允许在查询中显式构造实体类型“问题及使用其他方法实现返回 List<Model对象>或者IQueryable<Model对象>对象
- LINQ to Entities 不识别方法“System.Guid Parse(System.String)”,因此该方法无法转换为存储表达式。
- 再接再厉VS 2008 sp1 + .NET 3.5 sp1(2) - Entity Framework(实体框架)之详解 Linq To Entities 之一