Linq中的选择条件返回ORA-12704:字符集不匹配错误

时间:2013-12-11 08:48:29

标签: c# oracle linq

这是我在这里的第一篇文章,我希望这将是一个很好的友谊开始: - )。

到目前为止,我在C#中有以下代码:

 var query = from q in queyselect
           select new DTO()
      {
          DireccionBien = q.bien.Tipo < 10 ? q.bien.NombreCalle + " " + q.bien.Num :
                                       string.Empty,
      }

当我尝试query.ToList()时,它返回ORA-12704: character set mismatch异常并且我不理解它,因为所有字段都是字符串类型,它们在表中有数据,dto的属性也是字符串。

顺便说一句,如果我得到((ObjectQuery)查询).ToTraceString()并在Toad中执行它,它可以正常工作并返回一个正确的字段。

任何人都可以告诉我发生了什么事吗?提前谢谢。

1 个答案:

答案 0 :(得分:3)

如果您在Oracle中使用linq,则string.Empty部分无法在select语句中使用。我不知道确切的原因,但如果你使用“”而不是string.empty它将起作用。我认为string.Empty的编码与“”不同。