0
我有一個與lambda表達式創建LINQ查詢的問題。我需要加入兩張桌子並提出一些條件。我有兩個表MSR和BOMDetail。LINQ JOIN與WHERE條件
MSR有theese列 - > MSRID,PN,Buyer,Plant EditDate。 BomDetail有這些列 - > BOMID,PN,AltQty,Plant,EditDate。
而我需要將這個查詢寫入LINQ。
SELECT MSR.PN, Buyer, MSR.EditDate, MSR.Plant FROM MSR
JOIN BomDetail bd ON MSR.PN = bd.PN AND MSR.Plant = bd.Plant
WHERE LEN(ISNULL(bd.AltQty,''))>0
我需要做2個條件PN必須等於表和Plant之間。 我有asp.net MVC中的結果ViewModel。
public class MSRViewModel
{
public string PN { get; set; }
public string Buyer { get; set; }
public string Plant { get; set; }
public DateTime EditDate { get; set; }
}
這裏是我的樣品,它工作正常,但我不知道我必須寫bd.Plant = MSR.Plant第二個條件。
var data = DbContext.BomDetails.Where(x => !string.IsNullOrEmpty(x.AltQty))
.Join(DbContext.MSRs
, bd => bd.PN,
msr => msr.PN,
(bd, msr) => new MSRViewModel
{
PN = msr.PN,
Buyer = msr.Buyer,
Plant = msr.Plant,
EditDate = msr.EditDate
}).ToList().AsEnumerable();
謝謝。
哦,謝謝。它工作正常。你救我。 – tomas