7

エンティティ フレームワーク 4.3 データベースの最初のプロジェクトを新しいエンティティ フレームワーク 5 にアップグレードしました。 どうやら、ObjectContext の代わりに DbContext を使用しているようです。

古い .edmx ファイルを新しいファイルに置き換えました。以前は 4.3 .edmx ファイルを使用していた私の古いビジネス コードは、次のLoadPropertyメソッドを使用するコードに問題があります。

using (var context = new MyEntities())
{
    Models.User user = context.Users.First(x => x.GUID == guid);
    context.LoadProperty(user, o => o.Settings);
    return user;
}

LoadProperty は DbContext で使用できるメソッドではないようです。

とにかく強い型付けされた読み込みを取得するにはどうすればよいですか?

使えると思います

context.Users.Include("Settings")

しかし、それは強い型付けではなく、タイプミスを起こしやすいです。

4

1 に答える 1

15

LambdaでもIncludeメソッドを使用できます。このインクルードはDbExtensionクラスからのものであるため、usingステートメントを忘れないでください。

using System.Data.Entity;

..。

context.Users.Include(u => u.Settings);

Include拡張メソッドに関する情報は次のとおりです。msdninfo

于 2012-10-07T20:04:05.197 に答える