0

私は今いつか探しています、そして私はこの投稿でさえ私の問題の解決策を見つけることができません:

asp.net mvc 3-エンティティの子と孫をどのようにロードしますか?

基本的に私は3つのクラスを持っています:

Offer.cs、Application.cs、およびContractor.cs

1オファーにはアプリケーションのコレクションが含まれています

1つのアプリケーションには1つの請負業者が含まれます。


基本的に、nullとして表示されるContractorObjectのビューを取得します。助けてくれてありがとう!!!!

コードは次のとおりです。

意見

@foreach (var item in Model)
{
foreach (var candidate in item.Candidates)
    {
       Here is the problem #### canditate.Contractor == null ###

コントローラ

public ActionResult Index () {
 return View (db.Offers.Include(c => c.Location).Include(c => c.Candidates).ToList ());
}

モデル

public class Offer {

public Location Location { get; set }
public ICollection<Application> Candidates { get; set; }

}

public class Application {
    public Contractor Contractor { get; set}
}
4

2 に答える 2

0

あなたが試すことができます

db.Offers.Include("Location.Candidates").ToList()

これにより、すべてのロケーションとそれらのロケーションに関連するすべての候補が読み込まれるはずです(ただし、ラムダを使用してこれを行う方法はわかりません)。

于 2012-12-03T21:02:00.963 に答える
0

あなたが使用することができます...

return View(db.Offers
    .Include(o => o.Location)
    .Include(o => o.Candidates.Select(c => c.Contractor))
    .ToList());

...孫と一緒に孫Indexをロードするためにあなたの行動で。ContractorCandidates

于 2012-12-03T22:38:43.227 に答える