如何在生成的sql中强制linq to sql将ntext列转换为nvarchar(max)?

时间:2014-07-18 15:17:02

标签: linq-to-sql

以下问题让我找了几个小时的解决方案。我终于找到它并希望分享,这样我就可以节省其他人花时间。

我在linq to sql中有一个查询需要对类型为ntext的列进行排序和分组。对ntext列进行排序或分组会导致“无法比较或排序text,ntext和image数据类型,除非使用IS NULL或LIKE运算符。”在进行排序或分组之前,数据需要被铸造成nvarchar。如何指示linq to sql将我的ntext列转换为nvarchar(max)列?

1 个答案:

答案 0 :(得分:3)

调用 Convert.ToString(" Value")导致列值从ntext转换为nvarchar(max),结果sql为 CONVERT(NVarChar(最大值) ),值)即可。然后排序和分组工作得很好。