无法在 MVC 中创建 'System.Char' 类型的常量值
Unable to create a constant value of type 'System.Char' in MVC
我有如下代码段:
var results = business.Where(b => b.Description.ToLower().Contains(request.ServiceName.ToLower()));
var bb = results.Where(r => !r.Zip.Contains('-'));
当我 运行 这样做时,我在标题中收到一条错误消息。我查询 return 我定义的复杂类型,该复杂类型的属性之一是:
public string Zip { get; set; }
我想排除所有在 zip 部分不包含破折号的条目。
假设这是一个 Entity Framework 查询,Char 不是原始类型,因此会出现错误。尝试 var bb = results.Where(r => !r.Zip.Contains("-"));
在这里找到了一个相似的(重复):Why does this LinQ query not like chars?
应该是双引号...Contains("-")。
var bb = results.Where(r => !r.Zip.Contains("-"));
此外,如果您只关心最终结果,可以将两个 where 子句合二为一。
var results = business.Where(b =>
b.Description.ToLower().Contains(request.ServiceName.ToLower()) &&
!b.Zip.Contains("-"));
仅供参考: 如果您使用 Entity Framework,则不需要 ToLower()
。
我有如下代码段:
var results = business.Where(b => b.Description.ToLower().Contains(request.ServiceName.ToLower()));
var bb = results.Where(r => !r.Zip.Contains('-'));
当我 运行 这样做时,我在标题中收到一条错误消息。我查询 return 我定义的复杂类型,该复杂类型的属性之一是:
public string Zip { get; set; }
我想排除所有在 zip 部分不包含破折号的条目。
假设这是一个 Entity Framework 查询,Char 不是原始类型,因此会出现错误。尝试 var bb = results.Where(r => !r.Zip.Contains("-"));
在这里找到了一个相似的(重复):Why does this LinQ query not like chars?
应该是双引号...Contains("-")。
var bb = results.Where(r => !r.Zip.Contains("-"));
此外,如果您只关心最终结果,可以将两个 where 子句合二为一。
var results = business.Where(b =>
b.Description.ToLower().Contains(request.ServiceName.ToLower()) &&
!b.Zip.Contains("-"));
仅供参考: 如果您使用 Entity Framework,则不需要 ToLower()
。