私はLINQを初めて使用しています。 テーブルに参加して結果を表示し、データテーブルに表示しようとしています。LINQ(C#)Join - 重複したデータを1行に表示
私のシナリオ(データベース)を考えてみましょう:
私の要件は、次のようにDataTableのUI上で次のように表示することである:私は、次の左外部結合(サンプルコード)をしようとした
: `
var query = (
from request in DB.Request
join financeaprv in DB.DemoView on request.SurrogateID equals financeaprv.SurrogateID into financeaprvList
from financeaprv in financeaprvList.DefaultIfEmpty()
where financeaprv.ApproverType=="Finance"
join sysadmin in DB.DemoView on request.SurrogateID equals sysadmin.SurrogateID into sysadminList
from sysadmin in legalaprvList.DefaultIfEmpty()
where sysadmin.ApproverType=="Admin"
select new queryResult
{
FinanceApprv = financeaprv.ApproverName
Admin = sysadmin.ApproverName
}
`
しかし、それは失敗しました。 誰かが私の問題のLINQクエリを教えてくれますか? ありがとうございます。
左結合を使用する必要はありません。結合のみを使用します。デフォルトでは、linqはこれを内部結合とみなし、内部結合のみでこれを達成できます。これを参照してくださいhttp://stackoverflow.com/questions/3217669/how-to-do-a-join-in-linq-to-sql-with-method-syntax – Bharat
試してみてください。しかし、それはすべての行を返すわけではありません。私の問題はサブクエリ+ジョインが必要だと思う。 –
これは* pivoting *と呼ばれ、それについて多くの質問があります。多分あなたはあなたに合ったものを見つけることができます。 –