私が最終的に必要としていたのは、2つのデータテーブルと2つのテーブルキーを取り、結合されたデータテーブルを返す汎用関数です。だからここにそれを解決するための私の最初のステップがあります。
次のT-SQLの例のLinqの例をVBで書くにはどうすればよいですか?
SELECT * FROM
Table1
LEFT OUTER JOIN
Table2
ON Table1.key = Table2.key
私が最終的に必要としていたのは、2つのデータテーブルと2つのテーブルキーを取り、結合されたデータテーブルを返す汎用関数です。だからここにそれを解決するための私の最初のステップがあります。
次のT-SQLの例のLinqの例をVBで書くにはどうすればよいですか?
SELECT * FROM
Table1
LEFT OUTER JOIN
Table2
ON Table1.key = Table2.key
次のようになります。
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の男ではありませんが、これでうまくいくと思います。
既存の 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# の例についてはご容赦ください