【发布时间】:2009-01-07 22:20:07
【问题描述】:
我正在努力解决这个问题。
我正在开发一个 ASP.NET MVC 项目,将 LINQ to SQL 用于我的数据层。该数据库由 10 个左右不同的“异常”表组成,例如“Exceptions.LADM”、“Exceptions.USB”、“Exceptions.GPO”。基本上,这些表跟踪用户+机器信息,以放松各种安全程序。
我的 LINQ to SQL 模型已经生成。对于我可用的每张桌子,我都有不同的课程。但是,我不确定如何在控制器中使用它们,而不必为每种异常类型生成单独的控制器操作。对于List 动作,我想做这样的事情:
// Example Request: /Exceptions/List/ladm
// Routing: Controller = "Exceptions", Action = "List", type = "ladm"
// Controller Action:
public ActionResult List(string type)
{
string viewname = "List-" + type; // refer to "List-ladm" view.
if(type == "ladm")
{
var items = _repository.ListAllLADMExceptions();
}
return View(viewname, items);
}
我的存储库为每个表实现ListAll<XXXXXX>Exceptions 方法。有没有办法避免 10 种不同的 if/else 语句?它看起来很丑,我敢肯定有一种我想不出的更好的方法。可能是我从错误的角度接近它。
欢迎提出任何建议。
谢谢。
【问题讨论】:
标签: c# asp.net-mvc linq-to-sql