2012-01-26 6 views
1

nullで私はEntity Frameworkの図(.edmxファイル)私のコードで関係を横断しようとしましたが、私のエンティティフレームワークテーブルオブジェクトは

Users 
- UserID 
- Username 
- UserGroupID 

Groups 
- GroupID 
- GroupName 

で表され、以下の表を持って、私は有効なインスタンスを取得ユーザーオブジェクトと私はGroupテーブルに到達するために関係をトラバースしようとしていますが、GroupNameを取得するために、毎回、Groupsオブジェクトはnullです。 UserGroupIDはGroupsテーブルに存在するので、なぜこれがわからないのですか?

Visual Studio Intellisenseは、関係が存在することを知っていて、それを試みることができますが、実行時に 'Groups'インスタンスはnullです。

Users users= (Users)e.Row.DataItem; 
    string groupName = users.Groups.GroupName; 

この場合、グループはnullであり、理由はわかりません。考えられる原因は何ですか?

おかげ ケビン

答えて

1

が見える考えなければならない以下の行を追加します。データバインドされたイベント内では、グループデータはバインドされる前にロードされませんでした。あなたは、以下のようなグループを「含む」必要があります。

var users = entity.Users.include("Groups").where(x => x.UserID == 20); 
+0

ありがとうございました、Johnと記載されているドキュメントの間で、正しい方法を学ぶことができました。 – Kevin

0

おそらく遅延読み込みが無効になっています。

あなたはコンテキスト

context.ContextOptions.LazyLoadingEnabled = true; 

を初期化するとき、とにかくあなたがからアクセスグループにしようとしているようにあなたがあなたのDBからの日付を引くために使用したいものを戦略について

関連する問題