在ASP.NET Core中,可以为特定用户创建多个数据库,并且可以使用Entity Framework进行标识。可以使用多个连接字符串来指定不同的数据库,然后使用Entity Framework中的DbContext来选择要使用的数据库。以下是一个代码示例:
首先,在appsettings.json文件中定义多个连接字符串:
{ "ConnectionStrings": { "User1Db": "Data Source=serverName;Initial Catalog=User1Database;Integrated Security=true", "User2Db": "Data Source=serverName;Initial Catalog=User2Database;Integrated Security=true" } }
然后,在DbContext类中,使用构造函数将指定的连接字符串传递给DbContextOptions:
public class MyDbContext : DbContext { private readonly string _connectionString;
public MyDbContext(string connectionString)
{
_connectionString = connectionString;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(_connectionString);
}
// DbSet and other model configurations
}
最后,在使用DbContext时,使用相应的连接字符串创建DbContext实例:
using (var db = new MyDbContext(Configuration.GetConnectionString("User1Db"))) { // Use User1Db database }
using (var db = new MyDbContext(Configuration.GetConnectionString("User2Db"))) { // Use User2Db database }