将Linq与存储过程一起使用时发生EF错误

将Linq与存储过程一起使用时发生EF错误,linq,Linq,尝试如下: var query1 = Db.ProductView.Where(w => w.DisplayFlag == "Y"); var paging = query1.Include(i => i.ProductImages).Select(s => new Products() { ProductCode = s.P

尝试如下:

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)

                        }
                );
var query1=Db.ProductView.Where(w=>w.DisplayFlag==“Y”);
var paging=query1.Include(i=>i.ProductImages)。选择(s=>
新产品()
{
ProductCode=s.ProductCode,
设计代码=s.DesignCode,
代码1=s.Code1,
代码2=s.Code2,
ProductImages=s.ProductImages。其中(i=>(i.ImageNo==1&i.ImageType==“LS”)。选择(i=>i),
ProductCouples=Db.Database.SqlQuery(“EXEC[USP\u Front\u EShop\u优惠券\u Select\u By\u ProductCode]@ProductCode”,s.ProductCode)
}
);
但是,返回了以下错误:

*LINQ to实体无法识别方法“System.Collections.Generic.IEnumerable”1 [Lesmore1.Models.优惠券SqlQuery[Coupon](System.String, System.Object[])方法,此方法无法转换为存储表达式。 帮助我们了解出了什么问题


SqlQuery
返回
IEnumerable
,这可能就是您得到该错误的原因


尝试在调用
SqlQuery
后放置
.Single()
.First()
以获取单个对象,或
.Select()
Where()
以获取对象序列。

SqlQuery
返回
IEnumerable
,这可能就是您获取该错误的原因


尝试在调用
SqlQuery
后放置
.Single()
.First()
,以获取单个对象,或
。选择()
获取对象序列。

Hmm…返回错误是因为无法将LINQ to SQL的一部分转换为t-SQL。可能在LINQ模型中未定义
优惠券
?谢谢…优惠券模型当然存在..无法在LINQ中使用StoredProcess进行编码??Hmm…返回错误是因为无法在LINQ to SQL中定义一部分优惠券转换为T-SQL。可能LINQ模型中未定义
优惠券
?谢谢…优惠券模型当然存在..无法在LINQ中使用StoredProcess进行编码??