Должны ли методы, которые принимают параметр UnitOfWork, быть статическими? - PullRequest
0 голосов
/ 11 мая 2018

В моем контроллере у меня будут такие методы:

public ActionResult GetItemsFromServiceLayer(someValue)
{
    using (var unitOfWork = new UnitOfWork(ApplicationDbContext)
    {
        var result = Service.GetItems(unitOfWork, someValue);

        return View("SomeView", result);
    }
}

Который вызывает этот метод в моем слое службы:

public List<ItemViewModel> GetItems(IUnitOfWork unitOfWork, string someValue)
{
    var listOfItems = unitOfWork.ItemRepo.GetSpecificSetOfItems(someValue).ToList();

    foreach(var item in listOfItems)
    {
        // Do stuff...
    }

    return listOfItems;
}

ReSharper всегда предлагает, чтобы я изменил свои методы уровня обслуживания, GetItems, на static, что заставляет меня меньше думать о том, должен ли я или нет, но больше о том, будет ли это безопасно.

Могу ли я ожидать, что, сделав эту статическую ошибку, я столкнусь со странными ошибками соединения, когда несколько пользователей пытаются получить доступ к одному и тому же методу, или я буду в открытом виде, потому что UnitOfWork отправляется как параметр, а не как общий экземпляр?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...