无法在 MVC 中创建类型为“System.Char”的常量值

本文关键字:Char System 常量 MVC 类型 创建 | 更新日期: 2023-09-27 18:36:41

我有一个如下所示的代码段:

var results = business.Where(b => b.Description.ToLower().Contains(request.ServiceName.ToLower()));
var bb = results.Where(r => !r.Zip.Contains('-'));

当我运行这个时,我在标题中收到一条错误消息。我的查询返回我定义的复杂类型,该复杂类型的属性之一是:

public string Zip { get; set; }

我想排除所有在zip部分中不包含破折号的条目。

无法在 MVC 中创建类型为“System.Char”的常量值

它应该是双引号...包含("-")。

var bb = results.Where(r => !r.Zip.Contains("-"));

此外,如果您只关心最终结果,您可以将两个 where 子句合并为一个。

var results = business.Where(b => 
   b.Description.ToLower().Contains(request.ServiceName.ToLower()) && 
   !b.Zip.Contains("-"));

仅供参考:如果您使用实体框架,则不需要ToLower()

假设这是一个实体框架查询,Char 不是基元类型,因此会出现错误。 试试var bb = results.Where(r => !r.Zip.Contains("-"));

在这里发现了一个类似的(重复):为什么这个 LinQ 查询不像字符?