我正在使用实体框架,我编写此代码以从DB获得一些结果:
ReviewsDBEntities DB = new ReviewsDBEntities();
var result=DB.Review.Where(r => r.ReviewText.Length > 200);
但是我将此错误视为内部错误:“参数数据类型ntext对于len函数的参数1无效”
我查了一下,我发现因为ReviewText的类型被定义为ntext,所以函数Len不会在数据库端运行它。现在,我不知道如何更改代码以获得长度超过200的ReviewTexts。
答案 0 :(得分:3)
var result=DB.Review.Where(r => SqlFunctions.DataLength(r.ReviewText) / 2 > 200);
为什么/ 2
?因为DATALENGTH
以字节为单位返回长度,NTEXT
包含Unicode字符,每个字符占用2个字节。