将EF6添加到剃刀类库项目中以供许多BLAZOR项目共享吗?

时间:2020-10-02 17:20:32

标签: entity-framework-6 blazor blazor-server-side asp.net-blazor

是否可以将EF6添加到剃须刀类库中?目标是让其他BLAZOR项目共享许多组件,但是许多控件需要访问数据库,此解决方案中的所有项目都是相同的。另外,我假设数据库访问将通过控制器进行,因为不可能将其作为服务注入。这是正确的吗?

1 个答案:

答案 0 :(得分:0)

是否可以将EF6添加到剃须刀类库中?

是的,但是您将立即在Blazor Server一侧限制该库。

许多这样的控件需要访问数据库

那不是一个好的架构

我认为数据库访问将通过控制器进行

服务器端不需要,您可以将DbContext注入页面和组件中

当您的组件强烈依赖于Entity类和业务逻辑时,Razor类库可能不是最佳选择。

当您需要这样做时,请使用与存储无关的模型和服务接口创建特定的层。这是the Onion architecture的核心两层。

您的组件可以取决于接口,而主应用可以实现它们。