我想知道如何實現搜索功能?使用linq謂詞的搜索動作。 ASP.NET MVC
讓我們來看看我如何想象它。我將使用employee
模型作爲示例。所以employee
保持相當標準的屬性:'Id',EmployeeId
,Name
,Birthday
。
我Repository
對象持有的方法,如:
IQueryable<T> Get(Expression<Func<T, Boolean>> predicate);
所以後來Search
(屬於EmployeeController
)動作看起來像
[HttpPost]
public ViewResult Search(Guid Id, Guid EmployeeId, String Name, DateTime birthday)
{
// call repository.get(x => x.Name == Name && x.Id == Id ...);
}
的Search
視圖,然後將舉行形式文本框對應於搜索標準/動作參數。
但是有搜索能力耦合到模型/控制器。所以我需要爲每個控制器創建類似的操作。
如何以一些更好的方式?
謝謝!
沒有。一點也不。事情不在謂詞重複中(顯然謂詞會不一致)。事情是在行動中重複控制器。我想知道也許我可以抽象出'Search'功能嗎? – lexeme 2012-02-10 08:38:47
我不太確定我是否遵循,你是否說你在每個視圖上的每種類型的實體都有類似的搜索表單?或者你是說你有一個搜索表單需要在多個視圖中使用,例如在標題中? – devdigital 2012-02-10 08:47:18
現在我都沒有。但你最後的選擇是我想要的。我不想更改存儲庫類。但我會考慮你的建議。 – lexeme 2012-02-10 09:08:57