【问题标题】:LINQ error with DBNullDBNull 的 LINQ 错误
【发布时间】:2013-08-25 11:23:43
【问题描述】:

我的数据库中有一些空值(这是正确且正常的)

但是当我尝试使用 LINQ 时,我得到一个 InvaledCastException:从类型“DBNull”到类型“String”的转换无效。

我该如何解决这个问题?我什至不明白为什么它会抛出那个错误,当我使用数据视图而不是 LINQ 时,它工作得很好。

是这样的:

Dim sleutelLinq = dsInventaris.dtSleutel_Compl

sleutelLinq = From sleutels in sleutelLinq WHERE sleutels("tag") LIKE "'% Me.txtTag.Text & "%'" Select sleutels Order By "tag"

【问题讨论】:

  • 您能否发布您正在使用的导致错误的 LINQ?这是使用 Linq2Sql 的吗?
  • 您使用的实际代码是什么?发布的代码无法编译,看起来您正在尝试使用字符串连接来使用 LINQ 查询中的值,就像您可能在字符串中使用它以用作 SQL 查询一样。
  • 您使用的是 LINQ2SQL 还是已经获取数据的数据集/数据表?

标签: .net vb.net linq


【解决方案1】:

类似这样的:

Dim sleutelLinq = dsInventaris.dtSleutel_Compl

sleutelLinq = From sleutels In sleutelLinq Where Not IsDbNull(sleutels("tag")) AndAlso sleutels("tag") Like txtTag.Text

或者更好:

sleutels.Where(Function(p) Not IsDbNull(p("tag")) AndAlso p("tag").Contains(txtTag.Text)).Select(Function(p) p("tag"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多