我正试图找到一种方法,只在实体框架6中获得1对多关系中的最后2条记录。 我有3个模型对象。 产品,价格和库存。 产品有一个价格和库存对象列表。 我需要最后一条记录来显示当前的价格和库存,以及第二条记录来比较价格差异。
基本上我试图找到一种方法来做到这一点:
var products = ProductManager.Instance.SelectAll(db)
.Include(a => a.ProductPrices.Reverse().Take(2))
.Include(a => a.ProductStock.Last());
但这会引发运行时错误。
答案 0 :(得分:0)
我可以建议这个解决方案:
var products = (from pm in ee.ProductManager
join pp in ee.ProductPrices on pm.ProductID equals pp.ProductID into temppp
from ppp in temppp.OrderByDescending(c => c.ProductID).Take(2)
join ps in ee.ProductStock on pm.ProductID equals ps.ProductID into tempps
from pps in tempps.OrderByDescending(c => c.ProductID).Take(1)
select new { pm, ppp, pps }
).ToList();