我看到很多关于以lambda表达式格式加入的文章,但我在加入时遇到了错误。
我有两个表格tbl_payment
,另一个表格tbl_bill
tbl_bank
有ID
(主键),BILL_TYPE
tbl_payment
有ID
(主键),AMT
,BILL_ID
(tbl_bank
的外键)。
我希望在一个查询结果中从tbl_payment
获取tbl_bill
和bill_type的所有数据。
代码:
ViewBag.requestHistory =
db.tbl_bill.Join(db.tbl_payment, x => x.ID, y => y.BILL_ID,
(x, y) => new {x.BILL_TYPE,y.ID,y.AMT,y.COMMENT,y.PAYMENT_METHOD,y.STATUS}).ToList();
这是一个错误:
The type arguments for method `Querable.Join<TOuter,.....> cannot be infrred from the usage`.
答案 0 :(得分:0)
我更喜欢使用详细的linq语法进行连接
var requestHistory =
from bill in db.tbl_bill
join payment in db.tbl_payment on bill.ID equals payment.BILL_ID
select new {bill.BILL_TYPE, payment.ID, etc}
答案 1 :(得分:0)
您可以使用以下语法:
from t1 in db.Table1
join t2 in db.Table2 on t1.field equals t2.field
select new { t1.field2, t2.field3}