将 Linq 与存储过程一起使用时出现 EF 错误



尝试如下:

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()以获取对象序列。

相关内容

  • 没有找到相关文章

最新更新