EFCore.Sharding icon indicating copy to clipboard operation
EFCore.Sharding copied to clipboard

如何对DbContext进行参数设置?

Open larssonsun opened this issue 5 years ago • 5 comments

在efcore类似如下的设置在使用EFCore.Sharding后如何进行?

services.AddDbContext<DbContext>(dcob =>
 {
       dcob.ReplaceService<IQueryTranslationPostprocessorFactory, SqlServer2008QueryTranslationPostprocessorFactory>();
       dcob.UseSqlServer(Configuration.GetConnectionString("DbConnStr"));
});

larssonsun avatar Nov 06 '20 02:11 larssonsun

SQLServer2008?不支持,都快2021了

Coldairarrow avatar Nov 06 '20 05:11 Coldairarrow

不是不是,大哥请息怒。 我只是打个比方,如果要设置的话。是否有暴露出来的DbContextOptionsBuilder可用?

larssonsun avatar Nov 06 '20 05:11 larssonsun

暂时没有,你要说明暴露出来的意义

Coldairarrow avatar Nov 06 '20 05:11 Coldairarrow

实际上是这样的。一个在甲方运行了10年的数据库是sqlserver2008R2托管的。甲方已经不可能再换数据库服务了。。然后efcore3.x是不支持sql2008r2的分页的(ROW_NUMBER()方式),而如果使用ef2的话会失去很多依赖ef3的轮子。所以在网上找了方法替换掉了ef3中的原始分页方式。这就需要在adddbcontext的时候调用replaceservice方法。

另外作者能否pump一下efcore的版本到3.1.9

larssonsun avatar Nov 06 '20 05:11 larssonsun

那我开个构造拦截器出来

Coldairarrow avatar Nov 23 '20 08:11 Coldairarrow