在Entity Framework Core 2.0中替换服务的正确方法

时间:2018-12-17 10:25:13

标签: entity-framework entity-framework-core ef-core-2.0 ef-core-2.1

我正在开发helper library for EF Core,目前可以通过提供自定义DbContext类来工作,但是我想添加一种无需自定义基类的使用方法。我可以通过继承StateManager并告诉EF将我的实现用于IStateManager来实现。

我发现了两个告诉EF使用我的实现的选项:

第一个只是调用DbContextOptionsBuilder.ReplaceService Method

第二种方法是将DbContextOptionsBuilder强制转换为IDbContextOptionsBuilderInfrastructure,在其上调用AddOrUpdateExtension,传递一个IDbContextOptionsExtension实例,然后在ApplyServices方法中调用{{1} }方法。

在这两个选项中,哪个是首选?这两种方法之间有什么区别吗?

0 个答案:

没有答案