Где внедрять бизнес-правила?
Привет,
Я создаю веб-API с помощью entity framework. У меня есть несколько вопросов о проверке бизнеса.
Мое решение содержит несколько проектов. Один для моих сущностей и Dto (объект передачи данных). Один для моего DbContext с кодом first и репозиторием. Один для моего API. Один для моих деловых услуг. Я уже реализовал классическую проверку в своих сущностях с помощью DataAnnotations. А как насчет бизнес-правил? Бизнес-правила - это все те правила, которые я должен проверить, которые заставляют меня идти в базу данных или делать различные циклы в системе.
Мой бизнес-уровень должен реализовать все эти правила. Я не могу создать эти правила в своих сущностях или DTO, потому что мне нужно ссылаться на свою базу данных или другие системы.
В данный момент мои бизнес-сервисы - это своего рода класс CRUD, который выполняет всю работу по созданию, отображению моих сущностей. Где я должен реализовать валидацию?
Что я уже пробовал:
Я уже пытался реализовать IValidatableObject
public class ItemService : Service, ICrudService<item>, IValidatableObject { }
Но мой бизнес-класс не является сущностью. Кажется не логичным использовать этот IValidatableObject в бизнес-классе.