1

在 linq 我试图这样做

select * from tbl1 join tbl2 on tbl1.column1= tbl2.column1 and tbl1.column2 = tbl2.column2

我如何在 Linq 中编写上述查询....我尝试过这样但给出错误

  var sasi = from table1 in dtFetch.AsEnumerable()
             join table2 in dssap.AsEnumerable() 
             on new { 
                table1.Field<string >["SAPQuotationNo"],
                table1.Field<string >["Invoiceno"]} 
             equals new {  
                table2.Field<string>["SAPQuotationNo"],
                table2.Field <string>["Invoiceno"]
             }
4

2 回答 2

5
  • 使用匿名类型
  • 给出属性名称
  • 选择某物
  • 用作DataRow.Field带圆括号的方法

var sasi = from table1 in dtFetch.AsEnumerable()
           join table2 in dssap.AsEnumerable() 
           on new 
           { 
               SAPQuotationNo = table1.Field<string>("SAPQuotationN"),
               Invoiceno = table1.Field<string>("Invoiceno")
           } equals new 
           {
               SAPQuotationNo = table2.Field<string>("SAPQuotationNo"),
               Invoiceno = table2.Field<string>("Invoiceno") 
           }
           select table1;
于 2013-10-07T07:29:46.853 回答
0

你可以尝试这样的事情:

from A in context.A
join B in context.B on new { id = B.ID,//..., type = A.ID,//...} 

这是提示,您可以探索。

于 2013-10-07T08:24:30.000 回答