Я довольно новичок в платформе Entity Framework и все еще изо всех сил пытаюсь ее решить. Так много разных примеров и объяснений, которые я не могу понять, что делать?Entity Framework 6, Должен ли я использовать шаблон репозитория?
У меня есть несколько вопросов:
В моем текущем приложении я использовал шаблон, который состоит из:
- Repository Pattern
- (Сверху) Единица работы
Для каждого из, я объявляю NEW Unit of Work. Поэтому, когда я делаю Savechanges, затрагиваются только связанные элементы.
Для сложной бизнес-логики, я пишу свои методы внутри хранилища для каждого класса Например:
- Один из способов: Удалить один элемент из одного места инвентаря, переместить его в другое место, а затем уменьшить количество в старом месте и т. д. - Более сложные задания, которые читаются из разных таблиц и записываются во многие таблицы.
Однако недавно я узнал, что Entity Framework 6.0:
- DbContext = единица работы
- DbSet эквивалентно СКЛАДе
Так вопросы:
- Должен ли я использовать ONE DBCONTEXT или объявлять новое для каждого f orm/operation, поэтому транзакции остаются в локальном контексте (form/operation =
- Как заменить методы в моем репозитории?
Благодаря
DbSet - это не репозиторий, если только ваши объекты домена не могут использоваться как «как есть» EF.Даже тогда тот факт, что он раскрывает IQueryable, поражает цель шаблона репозитория. В двух словах, репозиторий является принципом, и его реализация не является DbSet, но реализация может использовать EF как внутреннюю деталь. – MikeSW
спасибо, это был тот момент, который я ошибся, извините за то, что вы указали правильный путь. –