我一直在关注 ASP.NET 网站上的 Contoso 大学教程。我正在尝试扩展我的技能,因此决定尝试向过滤器添加第三个选项。本教程提供:
if (!String.IsNullOrEmpty(searchString))
{
students = students.Where(s => s.LastName.ToUpper().Contains(searchString.ToUpper())
|| s.FirstMidName.ToUpper().Contains(searchString.ToUpper()));
}
假设我有一个名为 Nickname 的第三列。我尝试通过添加额外的 || 将其添加到过滤器中运算符(operator):
if (!String.IsNullOrEmpty(searchString))
{
students = students.Where(s => s.LastName.ToUpper().Contains(searchString.ToUpper())
|| s.FirstMidName.ToUpper().Contains(searchString.ToUpper())
|| s.Nickname.ToUpper().Contains(searchString.ToUpper()));
}
当我添加第三个选项运行时,我得到:
[SqlException (0x80131904):参数数据类型 ntext 对于上层函数的参数 1 无效。]
我在这里错过了什么?接下来我需要学习什么来帮助我更多地了解这里发生的事情?
最佳答案
我记得之前在使用 Entity Framework 时遇到过 NTEXT 列的问题。为了解决这个问题,我现在只使用 NVARCHAR(MAX)。我不确定这是否对您的情况有帮助..您是否能够更改数据库类型...否则,这里有更多信息:
关于c# - "Argument data type ntext is invalid for argument 1 of upper function"尝试将第三个项目添加到过滤器时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15364484/