Можно ли добавить EF6 в библиотеку классов бритвы? Цель состоит в том, чтобы многие компоненты использовались совместно с другими проектами BLAZOR, но для многих из этих элементов управления требуется доступ к базе данных, которая одинакова для всех проектов внутри этого решения. Кроме того, я предполагаю, что доступ к базе данных будет осуществляться через контроллер, поскольку невозможно внедрить как службу. Это верно ?
Добавить EF6 в проект библиотеки классов бритвы, который будет использоваться многими проектами BLAZOR?
Ответы (1)
Можно ли добавить EF6 в библиотеку классов бритвы?
Да, но вы должны немедленно ограничить эту библиотеку на стороне сервера Blazor.
многие из этих элементов управления требуют доступа к базе данных
Это не лучшая архитектура
Я предполагаю, что доступ к БД будет через контроллер
Не обязательно на стороне сервера, вы можете внедрить DbContext в свои страницы и компоненты.
Когда у вас есть компоненты, которые сильно зависят от ваших классов Entity и бизнес-логики, тогда библиотека классов Razor, возможно, не лучший выбор.
Когда вы действительно этого хотите, создайте определенный уровень с независимыми от хранилища моделями и интерфейсами для сервисов. Это два уровня в ядре луковая архитектура.
Ваш компонент может зависеть от интерфейсов, и основное приложение может их реализовать.