仅包含具有特定过滤的相关ICollection中的那些

时间:2015-01-29 16:34:24

标签: entity-framework asp.net-mvc-5 dbcontext

我有一个比尔模型,其中包含与之相关的付款和读数,如下所示:

public class Bill
{
    [Key]
    public Int64 BillID { get; set; }

    .............

    public virtual ICollection<Reading> Readings{ get; set; }

    public virtual ICollection<Payment> Payments { get; set; }
}

在我的BillsController中,我在索引视图上有以下代码:

public ActionResult Index()
{
        return View(db.Bills.ToList());
}

在控制器级别是否有任何方法可以过滤读数,例如读数值为0,从而表明存在问题?

1 个答案:

答案 0 :(得分:1)

我不太确定我是否正确地解释了您的问题,但听起来您想要选择所有票据并且如果其金额属性大于0则仅包括该票据的读数。如果是这种情况,则以下代码应该为您完成。

var billsWithFilteredReadings = db.Bills.Include(b =&gt; b.Readings.Where(r =&gt; r.Amount&gt; 0));

快乐编码。