C# 尝试在MVC4中使用操作的通用工厂

C# 尝试在MVC4中使用操作的通用工厂,c#,asp.net-mvc-4,generics,action,C#,Asp.net Mvc 4,Generics,Action,我正在构建一个具有搜索页面的MVC4应用程序。搜索操作从通过查询字符串传递的视图中获取两个值。其中一个值是从DDL列表中选择的值。目前,我正在使用if-else语句将该值与枚举匹配。根据值的不同,我正在实例化一个使用实体查询数据库的对象。然后,我将某个对象的IEnumerable列表返回给我的控制器,并生成一个webgrid 比如说, public actionresult searchforborrower(string searchTerm) { if(searchTerm == en

我正在构建一个具有搜索页面的MVC4应用程序。搜索操作从通过查询字符串传递的视图中获取两个值。其中一个值是从DDL列表中选择的值。目前,我正在使用if-else语句将该值与枚举匹配。根据值的不同,我正在实例化一个使用实体查询数据库的对象。然后,我将某个对象的IEnumerable列表返回给我的控制器,并生成一个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);
}

我正在寻找一种更好的方法来处理实例化搜索查询,特别是因为这是一个维护起来很麻烦的问题。我们已经了解了通用工厂和命令模式。它们似乎不是最好的解决方案,因为我返回的是某种类型的枚举列表。

如果我没有发现该代码有任何问题,请使用用例。