2011-01-04 6 views
2

私は自己追跡エンティティT4テンプレートでEF4を使用しています。以下のような EF4自己追跡エンティティのナビゲーションプロパティ

私は(ナビゲーションプロパティカテゴリで)エンティティページで選択を行う

var page = (from p in context.Page select p).FirstOrDefault(); 

ナビゲーションプロパティカテゴリは常にnullです。

私はこのようにそれを行う:

var page = (from p in context.Page.Include("Category") select p).FirstOrDefault(); 

カテゴリーがロードされています。

ハードコードされた文字列でインクルード関数を使用する必要があるのはなぜですか? EF4にアクセスするときにナビゲーションプロパティを自動的にロードすることはできませんか?

これはEntityObjectsでのみ動作し、STEでは動作しませんか?

答えて

1

STEは遅延ロードをサポートしていません。context.LoadPropertyを介してのみサポートされます。 POCO + EntityObjectはそれをサポートしています。

を含めることをお勧めします。このメソッドは、ハードコードされた文字列の代わりにラムダ式をサポートするように変更されることを願っています。

+2

必要に応じて拡張メソッドを作成できます。 http://blogs.msdn.com/b/stuartleeks/archive/2008/08/27/improving-objectquery-t-include.aspx – muruge

関連する問題