репозитория? Убрать Базовый и наследников, и сделать для каждой сущности свой GRUD-репозиторий, тогда нафиг нужны интерфейсы для самих сущностей? А все вокруг говорят что надо от интерфейсов плясать. Убрать базовый - тогда если в БД 100500 таблиц, то будет 100500 классов сущностей, 100500 классов репозиториев и столько же моделей и мапперов? Как правильнее сделать, что бы через год потом разобраться что наделал, и последователи не прокляли разбирая после меня код?
Должно быть какое-то наследование и переопределение Условно есть Get(int id) => return set.First(s => s.Id == id) И есть virtual set => context.Set<T>() И в репе тогда override set => base.set.Include("Something") Или ещё как-то, разные способы можно придумать В любом случае тебе придется в конкретных репах писать специфичные для сущности вещи
Получается что отложенную загрузку не удастся использовать путем объявления поля сущности как virtual?
Почему? Ничего не мешает тебе использовать отложенную загрузку, ты же просто обертку пишешь, как напишешь так и будет работать
Просто у меня с английским тяжело, пользовался переводчиком... Как я понял из документации, что если в классе сущности поле объявить как virtual, то что-бы получить связанные данные не придется использовать include(). А что бы мне воспользоваться этим полем с использованием интерфейсов в репозитории, то это поле мне надо прописать и в интерфейс. Но его как virtual в интерфейс не пропишешь...
Просто из каждого громофона кричат что надо все начинать с интерфейсов... тогда вы сможете так и так, то и то. Ну соответственно: легче прикрутить, легче изменить...
Интерфейсы по факту нужны чтобы при работе каждого со своей частью все работало. И были постоянные точки входа, с перечнем того что в них положить. Пока ты один всё пишешь, и никто кроме тебя не пользуется твоим кодом, то и без них можно.
Обсуждают сегодня