0

私はMSDNの記事を参照してこれを行おうとしていました。

私はこれを試しました:

dbContext.Entry(entry) _
    .Collection(Function(c) c.relObjects) _
    .Query() _
    .Where(Function(c) c.MyCondition) _
    .Load()

しかし、Load()はIQueryableのメンバーではないと言って、コンパイルされません

EF5をターゲットにしているのを見ました。EF4で動作させる方法はありますか?

4

2 に答える 2

1

System.Data.Entityこれが古い投稿であることは承知していますが、名前空間を必ずインポートしてください。

Imports System.Data.Entity

.Loadメソッドは、実際にはその名前空間の拡張メソッドです。

于 2013-02-02T02:00:20.677 に答える
0

Where 条件は IQueryable オブジェクトを返します。関連するオブジェクトのコレクションの後にLoadを使用する必要があります。

dbContext.Entry(entry).Collection(Function(c) c.relObjects).Load()

msdn から:遅延読み込みが無効になっていても、関連エンティティのエントリで Load メソッドを明示的に呼び出すことで、関連エンティティを遅延読み込みすることができます。例:

// Load the department related to a given course using a string      
context.Entry(course).Reference("Department").Load();      
// Load the courses related to a given department 
context.Entry(department).Collection(Function(c) c.Courses).Load();  
于 2012-04-06T15:34:34.220 に答える