0

.NET 3.5を使用していますが、エンティティ参照を自動的にロードできません。理想的には、それは時々うまくいくようです、私は次のようなものが欲しいです

Dim relocations = ctx.EmployeeRelocations.Where(Function(o) o.Employee.EmployeeNumber = employeeNumber).ToList()
If Not relocations.Where(Function(o) o.ValidTerritory.Territory = territory).Any() Then

ここで、ValidTerritoryは再配置の参照型です。しかし、代わりに、それを試してみると、オブジェクトがインスタンスに設定されていません...o.ValidTerritoryの場合。だから、私はこれを行うことができ、すべてがうまくいきます:

If Not relocations.Where(Function(o)
                             o.ValidTerritoryReference.Load()
                             Return o.ValidTerritory.Territory = territory
                         End Function).Any() Then

理論的には、何が起こっているのかは理にかなっていますが、なぜ明示的なロードが必要なのか、なぜこの動作が行き来しているように見えるのかがわかりません(つまり、明示的なロードなしで参照を正常にロードすることがあります)。

4

1 に答える 1

1

Includeそのデータを取得するために使用してみてください:

relocations.Include("ValidTerritory").Where(Function(o) o.ValidTerritory.Territory = territory).Any()
于 2012-04-12T20:08:09.050 に答える