0
いくつかの例があることは知っていますが、自分のコードに適用できませんでした。私はLinqとSQLにはかなり新しいです。私は2つのテーブルを持っています。値が一致するLINQ結合テーブル
まず表:
--------------
| Id | Count |
--------------
| 1 | 10 |
--------------
| 2 | 4 |
--------------
第二表:あなたが見ることができるように
--------------
| Id | Name |
--------------
| 1 | Tom |
--------------
| 2 | John |
--------------
| 3 | Nick |
--------------
| 4 | Max |
--------------
、2番目の表は、最初よりも多くのレコードを持っています。私の目標はIDに基づいて参加することです。問題は、私がテーブルに参加した後、Id 1と2である一致するレコードのみを表示することです。すべてのId(1から4まで)を表示したいのですが、両方のテーブルに一致がなければそれは次のようになります。デフォルト値は0です
:
// first table
var listCount = entity.tblKundes.Where(x => x.Studio == 2)
.Select(x => new { x.Id, x.Name})
.GroupBy(x => x.Name).ToList();
// second table
var listBerater = entity.tblUsers.Where(x => x.Studio == 2)
.Select(x => new { x.Id, x.Name})
.ToList();
// This join should be edited so that it displays non matching records as well
var test = listCount.Join(
listBerater,
count => count.Key,
berater => berater.Id,
(count, berater) => new { listCount = count, listBerater = berater }
).ToList();
編集:
----------------------
| Id | Name | Count |
----------------------
| 1 | Tom | 10 |
----------------------
| 2 | John | 4 |
----------------------
| 3 | Nick | 0 |
----------------------
| 4 | Max | 0 |
----------------------
は、これまでのところ、私はこのコードを持っています
var test2 = (from list in listCount
join berater in listBerater on list.Berater equals berater.Id into gj
from sublist in gj.DefaultIfEmpty()
select new { sublist.Id, sublist.Nachname, sublist.Vorname }).ToList();
をご覧ください。https://msdn.microsoft.com/en-us/library/bb397895.aspx – DWright
ご回答ありがとうございます。私の編集を見ることができますか?私はmsdnの例のようにそれらに参加するrderのグループを削除する必要がありました。それを名前でグループ化する手助けはできますか? – Anokrize
あなたは答えを受け取った後、本質的な質問を変更すべきではありません。あなたは外部結合を行う方法を尋ねられ、それは答えられました。今、グループ化の仕方を尋ねます。あなたがインターネット上の(多くの)例を見つけた後でそれを理解できなければ、新しい質問を開くべきです。そして、おそらくあなたを助けた答えを受け入れることができます。 –