是否可以将EF6添加到剃须刀类库中?目标是让其他BLAZOR项目共享许多组件,但是许多控件需要访问数据库,此解决方案中的所有项目都是相同的。另外,我假设数据库访问将通过控制器进行,因为不可能将其作为服务注入。这是正确的吗?
答案 0 :(得分:0)
是否可以将EF6添加到剃须刀类库中?
是的,但是您将立即在Blazor Server一侧限制该库。
许多这样的控件需要访问数据库
那不是一个好的架构
我认为数据库访问将通过控制器进行
服务器端不需要,您可以将DbContext注入页面和组件中
当您的组件强烈依赖于Entity类和业务逻辑时,Razor类库可能不是最佳选择。
当您需要这样做时,请使用与存储无关的模型和服务接口创建特定的层。这是the Onion architecture的核心两层。
您的组件可以取决于接口,而主应用可以实现它们。