C# 错误:无法隐式转换类型';System.Linq.IQueryable';至';OMS.Models.Product';存在显式转换(是否缺少强制转换?)

C# 错误:无法隐式转换类型';System.Linq.IQueryable';至';OMS.Models.Product';存在显式转换(是否缺少强制转换?),c#,linq-to-sql,asp.net-mvc-5,C#,Linq To Sql,Asp.net Mvc 5,在我的ProductVM中,我已将域类(Product)声明为属性之一。但是,当我通过方法查询domainclass时,我无法将结果查询分配给模型 ProductVm{ public Product Product { get; set;} public List<Image> Images { get; set; } public List<Specification> Specifications { get; set; } } 抛出此

在我的ProductVM中,我已将域类(Product)声明为属性之一。但是,当我通过方法查询domainclass时,我无法将结果查询分配给模型

ProductVm{
    public  Product Product { get; set;}

    public List<Image> Images { get; set; }

    public List<Specification> Specifications { get; set; }
}
抛出此错误:

“System.Linq.IQueryable”到“OMS.Models.Product”存在显式转换(是否缺少强制转换?)


您返回的是一份产品清单,而不是一件产品。试试这个:

public Product GetProductDetails(int? id) 
{
    var prod_details = from p in db.Products
                       where p.ProductID == id // i think you meant id not 5002
                       select p;
    return prod_details.FirstOrDefault(); 
}
public Product GetProductDetails(int? id) 
{
    var prod_details = from p in db.Products
                       where p.ProductID == id // i think you meant id not 5002
                       select p;
    return prod_details.FirstOrDefault(); 
}