我正在开发helper library for EF Core,目前可以通过提供自定义DbContext
类来工作,但是我想添加一种无需自定义基类的使用方法。我可以通过继承StateManager并告诉EF将我的实现用于IStateManager
来实现。
我发现了两个告诉EF使用我的实现的选项:
第一个只是调用DbContextOptionsBuilder.ReplaceService Method。
第二种方法是将DbContextOptionsBuilder
强制转换为IDbContextOptionsBuilderInfrastructure
,在其上调用AddOrUpdateExtension
,传递一个IDbContextOptionsExtension
实例,然后在ApplyServices
方法中调用{{1} }方法。
在这两个选项中,哪个是首选?这两种方法之间有什么区别吗?