如何使用linq避免来自表的连接数据的重复值

时间:2014-01-08 07:04:09

标签: asp.net linq web-services

我正在使用jquery和web服务进行自动完成。 Web服务使用linq查询完成。我使用linq从实体模型连接表。现在它显示重复数据。 帮助我避免使用linq重复数据。

这是我的网络服务:

 public class SearchService : System.Web.Services.WebService
    {
  [WebMethod]
        public string[] SearchCategory(string searchtxt)
        {
CustSite_INDIAEntities ctx = new CustSite_INDIAEntities();
            var cat1 = from b in ctx.tbl_CategoryLevel1 where b.Cat1_Name.StartsWith(searchtxt) select b.Cat1_Name;
            var cat2 = from b in ctx.tbl_CategoryLevel2 where b.Cat2_Name.StartsWith(searchtxt) select b.Cat2_Name;
            var cat3 = from b in ctx.tbl_CategoryLevel3 where b.Cat3_Name.StartsWith(searchtxt) select b.Cat3_Name;
            var cat4 = from b in ctx.tbl_CategoryLevel4 where b.Cat4_Name.StartsWith(searchtxt) select b.Cat4_Name;
            var cat5 = from b in ctx.tbl_CategoryLevel5 where b.Cat5_Name.StartsWith(searchtxt) select b.Cat5_Name;
            string[] cat10 = cat1.Concat(cat2).Concat(cat3).Concat(cat4).Concat(cat5).ToArray();
 return cat10;
 }
    }
}

1 个答案:

答案 0 :(得分:1)

使用Union代替ConcatUnion将删除重复项,而Concat会保留它们。