LINQ结果中的单引号导致错误

时间:2011-07-14 20:21:37

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

我有以下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捕获名称时,它会插入值#39而不是'然后LINQ保持正确,所以我最终得到一个不匹配因为它试图匹配:

  

M#38arta = M'arta

1 个答案:

答案 0 :(得分:1)

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

晚上我的自我想法。