.Net 4.0 WCF サービスの一部として EF4 を試しています。このサービスの目的は、ドキュメント データをエンティティ オブジェクトの配列として ASP.Net アプリに返すことです。アプリはまだ .Net 2.0 です。ソリューションの性質上、コンテキスト レベルで LazyLoading を無効にしました。私はこれから始めました:
var revQuery = from revs in context.tbl_Document_Revision
where (revs.ID == myIDVar)
select revs;
すべて正常に動作し、正しい数のオブジェクトが表示されます。ただし、Include をクエリに追加して、ナビゲーションが定義されている関連テーブルからフィールドを取得できるようにすると、最初のレコードのみが呼び出し元のアプリケーションに完全に入力されて返されます。
var revQuery = from revs in context.tbl_Document_Revision.Include("tbl_Staff")
where (revs.ID == myIDVar)
select revs;
配列は正しいサイズですが、最初の要素以降のすべての要素は空白のデフォルトのプレースホルダーです。インクルードの使用が LazyLoading に戻ったようなもので、それを行に入れることができないようです。他の誰かがこの問題を抱えていましたか?