【问题标题】:Single Quote in LINQ Results Causing ErrorLINQ 结果中的单引号导致错误
【发布时间】:2011-10-05 16:20:23
【问题描述】:

我有以下 LINQ 查询:

            Dim find_id = From p In dbContext.Residents _
                      Where p.person_name = occupant _
                      Select p

然后我像这样提取第一个返回的 ID:

            Dim building_id As String = find_building_id.FirstOrDefault.id

这很好用,除非这个人的姓氏中有 ',比如 M'arta。在这种情况下,我得到一个 NullReferenceException。关于如何解决此问题的任何想法?

好的,问题似乎是,当我最初从 GridView 捕获名称时,它会插入值 a #39 而不是 ' 然后 LINQ 保持正确,所以我最终得到一个不匹配因为它正在尝试匹配:

M#38arta = 玛尔塔

【问题讨论】:

  • 您确定您用于搜索它们的名称指定正确吗?
  • 阳性。但它有一个'。
  • 这确实不会对 EF 造成任何问题。你看过正在发送的 SQL 吗?
  • 在迭代之前做 find_id.ToTraceString() 并展示你得到了什么
  • find_id.ToTraceString() 不起作用,我正在使用 EF LINQ...

标签: asp.net vb.net linq entity-framework entity-framework-4


【解决方案1】:

也许这是一个 Unicode 问题?我曾经遇到过标量字符串属性的“Unicode”属性设置错误的问题。也许您的 SQL 连接字符串定义了错误的字符集?你确定这是一个单引号,没有任何重音或特殊字符,看起来很相似,但有另一个代码?

只是我晚上的自发想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    相关资源
    最近更新 更多