"Argument data type ntext is invalid for argument 1 of len function" 错误

"Argument data type ntext is invalid for argument 1 of len function" error

我正在使用 entity framework 并编写此代码以从数据库中获取一些结果:

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

但我收到此错误作为内部错误:"Argument data type ntext is invalid for argument 1 of len function"

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

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

为什么/ 2?因为DATALENGTHreturns是字节长度,而NTEXT包含Unicode字符,每个字符占用2个字节。