我有两个表OrderHead和Labeldata,这两个表都没有任何关系。我想从这两个表中提取数据,我使用的是LINQ:
var ODetail = (
from o in oContext.OrderHeads
join l in oContext.LIT04LABELDATA on o.CUSTORD equals l.ORDERNUMBER
where l.ORDERNUMBER == oNumber
select new { LIT04LABELDATA = l, OrderHead = o }
).ToList();
我想使用这两个表中的数据,但我不知道如何从变量oDetail
中提取数据,有什么建议吗?
答案 0 :(得分:2)
您正在创建一个匿名类型,它有两种类型作为其属性。与SQL查询不同,此处保留层次结构,因此oDetail
将不包含CUSTORD,oDetail.OrderHead
将包含CUSTORD。您需要查询为:
foreach(var detail in ODetail)
{
Console.WriteLine( detail.LIT04LABELDATA.ORDERNUMBER + " " + detail.ORDERHEAD.CUSTORD );
}
答案 1 :(得分:0)
var b=oContext.OrderHeads
.Where(p => oContext.LIT04LABELDATA.Where(q=>q.ORDERNUMBER==oNumber)
.Select(q => q.ORDERNUMBER).Contains(p.CUSTORD))
.Select(p => new
{
LIT04LABELDATA = oContext.LIT04LABELDATA
.FirstOrDefault(q=>q.ORDERNUMBER==p.CUSTORD),
OrderHead =p,
}).ToList();