0

全て、

VB.NET で Linq と Entity Framework (nHydrate を使用していますが) を試しています。次のように3つのテーブルがあるとしましょう:

ダイアグラム

したがって、Table1 は、多数のレコード/エンティティを持つ最上位の祖父母です。

特定の Table1 インスタンスに関連するすべての Table3 レコード/エンティティを選択したいと考えています。これを検索機能の一部として実行したいと考えています。

開始点として Table1 のインスタンスを取得したい、つまり

Public Class MySearch

    Private _lookUnder As System.Data.Objects.DataClasses.EntityObject

    Public Sub Search() 
        ...
        CType(_lookUnder, Table1) ' ???? need to linq here ????
        ...
    End Sub
End Class

これはLinqで完全に行うことができますか? C# の回答は大歓迎です。

これを見てみましが、あまり役に立ちませんでした。

ありがとう、

アンデス

4

1 に答える 1

2

理想的には、コンテキストにアクセスして、次のようなことを可能にする必要があります (C#):

var relatedTable3s = context.Table3s.Where(t3 => t3.Table2.Table1.id == _lookUnder.id);

このようなものもうまくいくと思います:

var relatedTable3s =
    from t2 in _lookUnder.Table2s.AsQueryable()
    from t3 in t2.Table3s
    select t3;

...そうでなければ次のように書かれています:

var relatedTable3s = _lookUnder.Table2s.AsQueryable()
    .SelectMany(t2 => t2.Table3s);
于 2012-09-18T22:44:05.907 に答える