【问题标题】:How to search multi keywork in linq query如何在linq查询中搜索多个关键字
【发布时间】:2013-05-17 15:49:16
【问题描述】:

我在主页上有这段代码

 CheckBox[] ch= new CheckBox[12];
              ch[0] = ChkContextA;
              ch[1]=  ChkContextB;
              ch[2]=  ChkContextC;
              ch[3]=  ChkContextD;
              ch[4]=  ChkContextE;
              ch[5]=  ChkContextF;
              ch[6]=  ChkContextG;
              ch[7]= ChkContextH;
              ch[8]= ChkContextI;
              ch[9]= ChkContextJ;
              ch[10]= ChkContextK;
              ch[11]=  ChiContextL;
              for (int i = 0; i < 11; i++)
                  if (ch[i].Checked) search += ch[i].Text + " ";
              Response.Redirect("SearchEstate.aspx?content="+search);

以及 SearchEstate 中的这段代码

  var content = Request.QueryString["content"];
         RealEstateEntities db = new RealEstateEntities();

               var query = from O in db.Owners       
                join E in db.Estates on O.OwnerID equals E.OwnerID
                join P in db.Properties on E.PropertyID equals P.PropertyID
                where P.Facilities.Contains(content)

                select new
                {
                    regdate = E.RegisterDate,
                    region = E.Region,
                    Estype = E.EstateType,
                    Fac = P.Facilities,
                    deal = P.DealType,
                    price = P.TotalCost,
                    img = E.Picture,
                    addrss = O.Address,
                    area = P.Area,
                    tel = P.TellNum,
                    bed = P.RoomNum,
                    park = P.ParikingNum
                };
    Repeater2.DataSource = query.OrderByDescending(x => x.regdate);
    Repeater2.DataBind();

当用户选中某些复选框“内容”时,例如具有以下值: SearchEstate.aspx?content=ContextB ContextE Con​​textJ

我想在 db 的 Facility 字段中搜索此值

我该怎么做? (对不起我的英语不好)

【问题讨论】:

    标签: entity-framework search linq-to-sql lambda full-text-search


    【解决方案1】:

    我感觉您正在寻找与此查询类似的内容:

    var content = Request.QueryString["content"];
    
    string[] contentArray = content.Split(' ');
    
    //...
    
    var query = //...
                where P.Facilities.Any(f => contentArray.Contains(f.FacilityName))
                //...
    

    (或代替FacilityName Facility 的其他属性)

    但我不确定。

    【讨论】:

      猜你喜欢
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-01
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多