The entity cannot be constructed in a LINQ to Entities query 原因及修复方法

发布时间 2023-03-29 17:30:05作者: 心中Where_True循环
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