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