搜索多个表ASP.NET MVC

时间:2014-02-27 12:36:31

标签: asp.net-mvc search lucene asp.net-mvc-5

我在我的网站上实现了搜索功能,使用以下功能使用1个表。

搜索功能

[HttpPost]
        public ActionResult Results(string SearchString)
        {
            using (var objCtx = new ApplicationDbContext())
            {
                var Restaurant = from u in objCtx.Restaurants
                           select u;


                if (!String.IsNullOrEmpty(SearchString))
                {
                    Restaurant = Restaurant.Where(s => s.Name.Contains(SearchString));
                }

                return View(Restaurant.ToList());
            }
        }

是否可以扩展此功能,以便它可以在不使用Lucene.net等搜索引擎的情况下搜索多个表?

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:2)

您可以查询表,然后合并iqueryable列表

var Restaurant = from u in objCtx.Restaurants
                       select u;

if (!String.IsNullOrEmpty(SearchString))
{
    Restaurant = Restaurant.Where(s => s.Name.Contains(SearchString));
}

// Second table.
var Restaurant2 = from u in objCtx.Restaurants2
                       select u;


if (!String.IsNullOrEmpty(SearchString))
{
    Restaurant2 = Restaurant2.Where(s => s.Name.Contains(SearchString));
}

return View(Restaurant.Union(Restaurant2).ToList());

return View(Restaurant.Concat(Restaurant2).ToList());