使用include语句时如何在linq中选择“谷仓门打开”的状态名称?
// GET: /Cowbow/Farm/
public ActionResult IndexNew()
{
var barns = dbFarm.Barn.Include(b => b.Dog).Include(b => b.Cat).Include(b => b.Pig).Include(b => b.Cow).Include(b => b.Chicken).Include(b => b.Feed);
// return View(barns.ToList()); // normal scaffold generated return
return View(barns.Where(b => b.Statuses.Where(s => s.statusName == "barn doors open")).AsEnumerable().ToList());
}
Barn 也有一个 Status.StatusName 字段,该字段与 barnid 具有外键关系。它还有两个可能的状态名称,“谷仓门打开”和“谷仓门关闭”,以及状态发生的日期字段和 id 字段。我只能在谷仓门打开时添加农场动物。
不确定这是否是正确的想法,因为每个谷仓可能有多个状态。
我如何只列出那些在状态名称为“谷仓门打开”的日期之前发生的最后状态的谷仓?
我试图添加一个 .FirstDefault 但我希望所有包含“谷仓门打开”的谷仓而不仅仅是第一个谷仓。