2

別のエンティティ (Folder_User) にリンクする 3 つのエンティティ (MasterDoc、Folder、User) があります。

public class Folder_User
{
    public int Id { get; set; }
    public MasterDoc MasterDoc { get; set; }
    public User User { get; set; }
    public Folder Folder { get; set; }
}

Folder_User タイプのオブジェクトをデータベースに挿入した後、(同じ DbContext で) クエリを実行し、子オブジェクトを取得できます。

public static List<Folder_User> GetAllFolder_USer(User user, DataModel dbContext)
    {
        List<Folder_User> list = null;

        var query = from f in dbContext.Folder_User
                     where f.User.Id == user.Id
                     select f;

        list = new List<Folder_User>(query);
        return list;
    }

しかし、ページの更新 (新しい dbcontext) の後、同じクエリを実行すると、MasterDoc へのオブジェクト参照が null になります。

*遅延読み込みを試してみましたが、何も修正されていないようです。*データベースもチェックしましたが、テーブルにはMasterDoc Idの行が正しく含まれています。

4

1 に答える 1

1

クエリで次Includeのことが必要です。MasterDoc

public static List<Folder_User> GetAllFolder_USer(User user, DataModel dbContext)
{
    var query = dbContext.Folder_User.
                          Include(f => f.MasterDoc).
                          Where(f => f.User.Id == user.Id);

    return query.ToList();
}
于 2012-10-30T10:50:43.987 に答える