我们有Blazor Server-Aapp。该应用程序使用ef核心。授权/登录后,我想更改当前会话的数据库连接。我有一些想法,但是有人知道最好的方法吗?我们不使用存储库。上下文只是直接注入到需要的地方。
答案 0 :(得分:0)
我假设您要对登录名和其他数据实体使用不同的数据库。在那种情况下,为什么不创建一个不同的DbContext
一个用于身份验证,另一个用于数据实体?
一个DbContext可以具有用于身份验证数据库的连接字符串,而另一个具有用于您的业务数据的连接字符串。例如:
验证数据上下文:
services.AddDbContext<AuthContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("AuthConnection")));
业务数据上下文:
services.AddDbContext<DataContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DataConnection")));