我正在构建一个具有搜索页面的mvc 4应用程序。搜索操作从通过查询字符串传递的视图中获取两个值。其中一个值是来自ddllist的选定值。目前,我使用if else语句将该值与枚举匹配。根据值是什么,我实例化一个使用实体查询我的数据库的对象。然后我将一个对象的Ienumrable列表返回给我的控制器并生成一个webgrid。
例如,
public actionresult searchforborrower(string searchTerm)
{
if(searchTerm == enum.queryborrowername)
var result = ctx.getborrowername();
else if (searchTerm == enum.queryguarantorname)
var result = ctx.getguarantorname();
return view(result);
}
我正在寻找一种更好的方法来处理实例化搜索查询,特别是因为这是一个难以维护的问题。看过通用工厂和命令模式。它们似乎不是最佳解决方案,因为我正在返回某种类型的枚举列表。