尝试如下:
var query1 = Db.ProductView.Where(w => w.DisplayFlag == "Y");
var paging = query1.Include(i => i.ProductImages).Select(s =>
new Products()
{
ProductCode = s.ProductCode,
DesignCode = s.DesignCode,
Code1 = s.Code1,
Code2 = s.Code2,
ProductImages = s.ProductImages.Where(i => (i.ImageNo == 1 & i.ImageType == "LS") ).Select(i => i),
ProductCoupons = Db.Database.SqlQuery<Coupon>("EXEC [USP_Front_EShop_Coupon_Select_By_ProductCode] @ProductCode", s.ProductCode)
}
);
但是,返回了以下错误:
*LINQ to Entities 无法识别方法 'System.Collections.Generic.IEnumerable '1 [Lesmore1.Models.SqlQuery [Coupon] (System.String, System.Object [])' 方法,并且此方法不能转换为存储表达式。 帮助我们了解出了什么问题..
SqlQuery
返回 IEnumerable<T>
,这可能就是您收到该错误的原因。
尝试在调用SqlQuery
后放置.Single()
或.First()
以获取单个对象,或.Select()
或Where()
以获取对象序列。