Я изо всех сил пытаюсь понять это.
Я работаю над проектом 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? Это выглядит некрасиво, и я уверен, что есть лучший способ, о котором я не могу думать. Может быть, я подхожу к нему с неправильного угла.
Любые предложения приветствуются.
Спасибо.