Coldairarrow / EFCore.Sharding

Database Sharding For EFCore
Apache License 2.0
694 stars 143 forks source link

如何对DbContext进行参数设置? #66

Open larssonsun opened 3 years ago

larssonsun commented 3 years ago

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

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

SQLServer2008?不支持,都快2021了

larssonsun commented 3 years ago

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

Coldairarrow commented 3 years ago

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

larssonsun commented 3 years ago

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

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

Coldairarrow commented 3 years ago

那我开个构造拦截器出来