簡體   English   中英

MVC對孩子的條件(已有很多)

[英]MVC Where condition on children (hasMany)

我想在對象的子對象上做一個位置。 因此,例如:

模范學校班級有孩子,我希望只有名叫漢克的孩子的班級

Model Schoolclass
    int ID
    string Classname
    virtual ICollection<Children> Children

Model Child
    int ID
    int ClassID
    string FirstName
    string LastName

this.db.Schoolclass.Where(sc =>
    sc.ID == 4 &&
    sc.Children.FirstName == "Hank"
).FirstOrDefault();

但是無法直接訪問child,因為這是hashay關系。

我是否必須使用類似Any的東西?

這樣,我查詢接收到的數據(但我不需要所有的孩子,這是開銷)

Schoolclass = this.db.Schoolclass.Where(sc =>
    sc.ID == 4)
.FirstOrDefault();

Schoolclass.Children = Schoolclass.Children.Where(c => c.FirstName == "Hank").ToList();

“我希望所有叫漢克的孩子都上這堂課”:
this.db.Schoolclass.FirstOrDefault(sc => sc.Children.All(c => c.FirstName == "Hank"));

我想你想要這個:

this.db.Schoolclass.Where(sc =>
    sc.ID == 4 &&
    sc.Children.Any(x=>x.FirstName == "Hank")
).FirstOrDefault();

或更簡單:

this.db.Schoolclass.FirstOrDefault(sc => sc.ID == 4 &&
                       sc.Children.Any(x=>x.FirstName == "Hank"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM