Я создаю веб-приложение .NET Core, используя следующие проекты:
WebApplication1 (UI)
BLL
DAL
Как все мы знаем, пользовательский интерфейс должен иметь доступ только к классам проекта BLL, а проект BL - только к классам проекта DAL.
Поэтому я настроил следующее:
WebApplication1 имеет ссылку только на проект BLL.
BLL имеет ссылку только на проект DAL.
В .NET Framework 4.7 (не Core) вы не можете получить доступ к классам DAL напрямую из WebApplication1, если не добавили ссылку на DAL в явном виде. это полезно, потому что таким образом вы не получите случайный доступ к DAL напрямую из WebApplication1 (UI), и вам потребуется сделать это через проект BLL.
Когда я пытаюсь портировать с .NET Framework на .NET Core, я обнаружил, что поведение изменилось, и я не могу получить доступ к классам DAL напрямую из WebApplication1, как показано на снимке экрана, просто используя "using DAL" без необходимости добавления ссылки непосредственно на DAL.
Фреймворк автоматически показывает ссылку на DAL как "дочернюю ссылку
Может кто-нибудь объяснить об этом больше?
Я хочу продолжать «хорошо спроектированную» трехуровневую изолированную архитектуру, и кажется, что новый способ это сломает.