1
我有三个表波纹管:多表连接使用LINQ没有返回值
Table A
Id
Divi_code
Unit_code
Other column
Table B
Divi_code
Divi_name
Table c
Unit_code
Unit_name
我必须使用一些地方的条件,列表项可能会或可能不会有divi_code/unit_code数值的从表中生成一个列表。如果列表包含divi_code/unit_code的任何值,我现在需要找到divi_name/unit_name。我这样做因为我不想发送divi/unit代码到用户界面,我想发送名称。
我想加入这些表像波纹管:
var list = (from s in DataContext.HRM_HLDY_SPCL_FOR.AsEnumerable()
where s.HLDY_DATE == Convert.ToDateTime(Date)
join dv in DataContext.HRM_DIVISION on s.DIVI_CODE equals dv.DIVI_CODE
join un in DataContext.HRM_UNIT on s.UNIT_CODE equals un.UNIT_CODE
select new HRM_HLDY_SPCL_FORModel { HLDY_SPCL_SLNO = (s.HLDY_SPCL_SLNO).ToString(), DIVI_NAME= dv.DIVI_NAME, UNIT_NAME= un.UNIT_NAME, ActiveStatus= s.ACTIVE_STATUS, HLDY_SPCL_REM= s.HLDY_SPCL_REM}).ToList();
我的查询只面向那些既具有divi_code & unit_code数据。即使没有divi_code/unit_code,我也想要列出所有数据。在这种情况下,divi_name/unit_name为null就足够了。
是的,我在找这个,谢谢。 –
Np。很高兴帮助 – Arion
我很快就认为它可以工作,但现在我尝试了这一点,并得到错误,当它不是一个divi_code/unit_code。错误说“对象引用未设置为对象的实例”。 :( –