none
关于LINQ 模糊查询的问题 RRS feed

  • 问题

  • 我用的是asp.net +EF

    表结构
    id  name  sex .....

    前台有一个输入框,现在需要以‘空格’为分割符输入多姓名条件进行查询

    var aa = from s in _context.aa
                    select s;

    aa=aa.Where(s => s.name.Contains(searchString))

    用了

    string[] str={"张","李"};

    aa=aa.Where(s =>str.Contains(s.name))

    也不行,一条记录也没有了

    还有什么办法可以解决


    2021年4月28日 1:35

全部回复

  • 你好,

    你可以使用Any方法来判断序列中的任何元素是否存在或满足条件。

    string[] str = { "张", "李" };
     var aa = from s in _context.aa
              where str.Any(f => s.name.Contains(f))
              select s;


    2021年4月28日 8:52
  • 这个页面,我用了一个分页类,是不是和这个有关

    @model PcManager.classlib.PaginatedList<PcManager.Models.PcInfo>

    2021年4月29日 14:31
  • 你好,

    你是不是用了PagedList.MVC实现分页的?你返回的什么样的数据到View的?你可以参考我下面的代码:

            public ActionResult Index()
            {
                int? page = 2;
                int pageSize = 3;
                int pageNumber = (page ?? 1);
                string[] str = { "张", "李" };
                var query = from s in db.Colors
                         where str.Any(f => s.Name_Colors.Contains(f))
                         select s;
                var result = query.ToList().ToPagedList(pageNumber, pageSize);
                return View(result);
            }

    2021年5月6日 7:36