2014-02-27 73 views
1

我已經在我的網站上使用以下函數使用1個表實現了搜索功能。搜索多個表ASP.NET MVC

搜索功能

[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通過多個表進行搜索?

任何幫助將是偉大的。

回答

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()); 
+0

感謝這解決了我的問題 – Dolaps