Я следую Руководству по архитектуре Microsoft для создания основного веб-приложения ASP.NET.
В руководстве реализован шаблон чистой архитектуры, который довольно прост.
Если вы посмотрите на пример проекта, который использует шаблон чистой архитектуры, вы увидите, что есть папка Infrastructure / Identity , которая содержит класс ApplicationUser.cs.
Myпроблема:
Я использую Entity Framework, и одна из моих бизнес-сущностей в библиотеке классов ApplicationCore должна содержать список ApplicationUser.Библиотека ApplicationCore не должна ссылаться ни на какие другие проекты.Он содержит все интерфейсы и бизнес-объекты.Как я могу сохранить класс ApplicationUser в своем проекте Infrastructure / Identity и по-прежнему использовать его в одном из моих бизнес-объектов в проекте ApplicationCore, не нарушая правил.
Я знаю, что одним из решений является не хранить объект ApplicationUser вмой инфраструктурный проект.Тем не менее, я чувствую, что он должен быть там, поскольку он всегда будет полагаться на Identity, поскольку он реализует IdentityUser.