如何在Asp MVC实体框架中使用使用lambda表达式的连接? [英] How to use join using lambda expression in Asp MVC Entity Framework?

查看:172
本文介绍了如何在Asp MVC实体框架中使用使用lambda表达式的连接?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我看到了很多关于lambda表达式格式的关于连接的文章,但是我在连接中遇到了错误.

I saw many articles on join in lambda expression format but i got an error in join.

我有两个表,一个是tbl_payment,另一个是tbl_bill.
tbl_bank具有ID(主键),BILL_TYPE.
tbl_payment具有ID(主键),AMTBILL_ID(tbl_bank的外键).

I have two table one is tbl_payment and another is tbl_bill.
tbl_bank has ID(Primary Key), BILL_TYPE.
tbl_payment has ID(Primary Key),AMT,BILL_ID(Foreign Key of tbl_bank).

我想在一个查询结果中从tbl_bill获取所有数据tbl_payment和bill_type.

I want to get all data form tbl_payment and bill_type from tbl_bill in one query result.

代码:

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`.

推荐答案

我更喜欢使用冗长的linq语法进行联接

I prefer to use the verbose linq syntax for joins

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}

这篇关于如何在Asp MVC实体框架中使用使用lambda表达式的连接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆