The entity cannot be constructed in a LINQ to Entities query 原因及修复方法
public IQueryable<Product> GetProducts(int categoryID) { return from p in db.Products where p.CategoryID== categoryID select new Product { Name = p.Name}; }
我也用以上这个案例
其实出这个问题的原因很简单,就是他不能创建一个一模一样的自己
改成
from p in db.Products select p ;就对了
所以后边的 select new + 实体 ,实体必须换一个全新的,与当前查询实体带有一定区别
要么换一个实体,要么拿着 from p in db.Products 的结果去操作,切记不可在linq里面直接转换
即使实体换个名字,内部字段不变也会报错,所以,务必创建一个与当前查询实体不同的class
等风来,不如追风去。