“参数数据类型ntext对于len函数的参数1无效”错误

时间:2016-11-08 18:45:26

标签: c# entity-framework linq ntext

我正在使用实体框架,我编写此代码以从DB获得一些结果:

ReviewsDBEntities DB = new ReviewsDBEntities();  
var result=DB.Review.Where(r => r.ReviewText.Length > 200);

但是我将此错误视为内部错误:“参数数据类型ntext对于len函数的参数1无效”

我查了一下,我发现因为ReviewText的类型被定义为ntext,所以函数Len不会在数据库端运行它。现在,我不知道如何更改代码以获得长度超过200的ReviewTexts。

1 个答案:

答案 0 :(得分:3)

var result=DB.Review.Where(r => SqlFunctions.DataLength(r.ReviewText) / 2 > 200);

为什么/ 2?因为DATALENGTH以字节为单位返回长度,NTEXT包含Unicode字符,每个字符占用2个字节。