【问题标题】:Linq to sql : Checking an array of strings in a column values of databaseLinq to sql:检查数据库列值中的字符串数组
【发布时间】:2016-06-10 23:56:41
【问题描述】:

我使用这样的 where 条件只检查了一个字符串

 vms = vms.Where(x => x.CETIGroup != null && x.CETIGroup.ToLower().Trim().Contains(SearchVM.CETIGroup.ToLower().Trim())).ToList();

现在我想检查一组字符串:

SearchVM.CETIGroup = "Orange,Apple,Banana";
 string[] toSearchFor = SearchVM.CETIGroup.Split(',');
List<string> listCETI= new List<string> (toSearchFor);

所以我想检查 CETIGroup 是否具有数组元素之一。

 vms = vms.Where(x => x.CETIGroup != null && x.CETIGroup.ToLower().Trim().Any(y=> listCETI.Contains(y)).ToList();

上面的代码不起作用。

请帮帮我。

【问题讨论】:

  • 什么不起作用?你收到错误了吗?
  • 列表有 0 个值。我无法根据字符串数组检查匹配的行。
  • 我想显示所有具有 CETIGroup = Orange 或 CETIGroup = Apple 或 CETIGroup = Banana 的行
  • 你总是可以使用 vms.ToList() 作为起点...

标签: c# linq-to-sql entity-framework-4


【解决方案1】:

你搜索的方向不对,我猜应该是:

vms = vms.Where(x => x.CETIGroup != null && listCETI.Contains(x.CETIGroup.ToLower().Trim())).ToList();

【讨论】:

    猜你喜欢
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多