2016-01-24 34 views
0

我想爲我的網站提供搜索功能。我如何搜索表中的字符串?如何使用實體框架在給定數據庫表中搜索列?

public class SearchController : Controller 
{ 
    HOXATEntities db = new HOXATEntities(); 
    public ActionResult Index(string search, int? page) 
    { 
     var pageNumber = page ?? 1; 
     ViewData["Posts"] = db.Posts.ToPagedList(pageNumber, 5); 
     ViewData["Search"] = search; 
     return View(); 
    } 
} 

搜索字符串傳遞,它需要進行比較或任何從實體

回答

1

你可以使用:

var posts = db.Posts.Where(x => x.nameOfPost == search); 
return View(posts.ToPagedList(pageNumber, 5)); 

如果你想搜索的職位名稱。否則,只需將其更改爲想要搜索的帖子的任何屬性即可。您也可以在第一線彈出.ToList()以上,使其成爲:

var posts = db.Posts.Where(x => x.nameOfPost == search).ToList() 

但這樣做的通知,所有搜索匹配的職位將被加載到內存中,因此可以填充列表,並準備使用。如果您不想將其作爲列表加載,則只使用返回類型爲IQueryable的第一個示例。

然後,您可以更改您的視圖,以期望分頁的帖子列表作爲模型,然後它可以基於此渲染視圖。

+0

非常感謝 - 工作 –

+0

@AsadAli請標記爲接受答案:) – DSF

相關問題