我正在使用 Entity Framework 并编写此代码以从数据库中获取一些结果:
ReviewsDBEntities DB = new ReviewsDBEntities();
var result=DB.Review.Where(r => r.ReviewText.Length > 200);
但我收到此错误作为内部错误:“参数数据类型 ntext 对于 len 函数的参数 1 无效”
我查了一下,发现因为ReviewText的类型定义为ntext,所以函数Len不会在数据库端运行。现在,我不知道如何更改代码以获取长度超过 200 的 ReviewText。
最佳答案
var result=DB.Review.Where(r => SqlFunctions.DataLength(r.ReviewText) / 2 > 200);
为什么是/2
?因为DATALENGTH
返回以字节为单位的长度,NTEXT
包含 Unicode 字符,每个字符占用 2 个字节。
关于c# - "Argument data type ntext is invalid for argument 1 of len function"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40494269/