[英]System.NotSupportedException : When I run this Linq query
无法在 LINQ 到实体查询中构造实体或复杂类型“CategoryModel.ItemModel”。
var query1 = (from a in db.ItemModels
select new ItemModel
{
Id = a.Id,
Name = a.Name,
Path = a.Path
}).ToList();
如何用另一种形式写这个?
LINQ 提供者将不知道 MovieSummary 构造函数中的代码是什么,因为构造函数代码未在查询生成的表达式树中捕获。 实体框架尝试将 LINQ 查询中的所有内容转换为 T-SQL,但由于它无法准确说明构造函数调用内部发生的情况,因此它必须停止并抛出异常。
一种解决方案是通过从 IQueryable 切换到 IEnumerable(使用 AsEnumerable LINQ 运算符)将整个投影移出表达式树。
var summaries = db.Movies.AsEnumerable()
.Select(m => new MovieSummary(m));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.