【问题标题】:LINQ Joins on nullable column可空列上的 LINQ 连接
【发布时间】:2016-10-28 12:36:55
【问题描述】:

我对 linq 不是很好,对我来说似乎有点困惑,但我一直在努力。我有以下查询,我似乎无法开始工作。

我得到错误:

表 'temsempl' 中列 'empl_cctr_id' 的值为 dbnull。

另一个联接也可能会出现相同的错误,但与该相关表有关。请帮忙。

Dim query = (From empl In EMS_DS.TEMSEMPL
             Join cctr In EMS_DS.TEMSCCTR On empl.empl_cctr_id Equals cctr.cctr_id
             Join ppcd In EMS_DS.TEMSPPCD On empl.empl_ppcd_id Equals ppcd.ppcd_id
             Where empl.empl_userid.Equals(text.ToString.ToUpper)
             Select empl.empl_sep_dt, cctr.cctr_cd, ppcd.ppcd_desc).ToList

【问题讨论】:

  • 查看this。这可能会有所帮助。
  • 是的,我看到并尝试了这些建议,但没有奏效。我的问题在于我认为的加入
  • 是的,它看起来像。该链接中接受的答案有两个示例。你试过第二个吗?

标签: vb.net linq


【解决方案1】:

Dim query = (From empl In EMS_DS.TEMSEMPL Join cctr In EMS_DS.TEMSCCTR On empl.empl_cctr_id Equals cctr.cctr_id into temp from cctr in temp.DefaultIfEmpty() Join ppcd In EMS_DS.TEMSPPCD On empl.empl_ppcd_id Equals ppcd.ppcd_id Where empl.empl_userid.Equals(text.ToString.ToUpper) Select empl.empl_sep_dt, cctr.cctr_cd, ppcd.ppcd_desc).ToList

【讨论】:

  • 虽然此代码片段可能会回答 OP 的问题,但如果您解释为什么它应该解决问题,答案将对未来的访问者更有用。
猜你喜欢
  • 2011-08-07
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
  • 2015-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-25
相关资源
最近更新 更多