2

私が最終的に必要としていたのは、2つのデータテーブルと2つのテーブルキーを取り、結合されたデータテーブルを返す汎用関数です。だからここにそれを解決するための私の最初のステップがあります。

次のT-SQLの例のLinqの例をVBで書くにはどうすればよいですか?

SELECT * FROM
Table1
LEFT OUTER JOIN
Table2
ON Table1.key = Table2.key
4

2 に答える 2

3

次のようになります。

Dim JoinedResult = From t1 In Table1 
    Group Join t2 In Table2 
       On t1.key Equals t2.key 
       Into RightTableResults = Group 
    From t2 In RightTableResults.DefaultIfEmpty 
    Select t1.Prop1, 
       t2.Prop2        

私は(もう)VBの男ではありませんが、これでうまくいくと思います。

于 2011-04-21T07:27:49.787 に答える
0

既存の Join メソッドを単純に使用できます

public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(
    this IEnumerable<TOuter> outer,
    IEnumerable<TInner> inner,
    Func<TOuter, TKey> outerKeySelector,
    Func<TInner, TKey> innerKeySelector,
    Func<TOuter, TInner, TResult> resultSelector
)

例えば:

table1.Join(table2, t1 => t1.Key, t2 => t2.Key, (t1, t2) => new { Table1 = t1, Table2 = t2 });

より多くのオーバーロードと例を見つけることができますhttp://msdn.microsoft.com/en-us/library/system.linq.enumerable.join.aspx

C# の例についてはご容赦ください

于 2011-04-21T14:04:00.020 に答える