Entity Framework Core usando múltiples DbContexts

Tengo un problema que cuando intento acceder a un campo en mi PartsDbContext me sale el siguiente error:

System.Data.SqlClient.SqlException: 'Nombre de objeto no válido' fieldName ''

Parece que esto se debe a que estoy tratando de hacer que mi PartsDbContext use la misma base de datos que mi ApplicationDbContext que se usa con Identity. Necesito saber cómo configurar un segundo dbcontext para trabajar con EF core que usa / crea una base de datos diferente.

Intenté crear una segunda cadena de conexión pero eso me da este error:

System.Data.SqlClient.SqlException: 'No se puede abrir la base de datos "PartsDb" solicitada por el inicio de sesión. El inicio de sesión falló. Error de inicio de sesión para el usuario 'DESKTOP-4VPU567 \ higle'. '

Aquí está mi código:

appsettings.json

"ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-PrecisionCustomPC-b14db89e-86ad-4855-a17f-ac64a04339aa;Trusted_Connection=True;MultipleActiveResultSets=true",
    "PartsConnection":  "Server=(localdb)\\mssqllocaldb;Database=PartsDb"
},
"Logging": {
    "IncludeScopes": false,
    "LogLevel": {
        "Default": "Warning"
    }
}

PartsDbContext.cs

public class PartsDbContext : DbContext
{
    public DbSet<PartsViewModels.Tower> Towers { get; set; }
    public DbSet<PartsViewModels.Motherboard> Motherboards { get; set; }

    public PartsDbContext(DbContextOptions<PartsDbContext> options)
        : base(options)
    {
    }
}

Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddDbContext<ApplicationDbContext>(options =>
         options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

    services.AddIdentity<ApplicationUser, IdentityRole>()
        .AddEntityFrameworkStores<ApplicationDbContext>()
        .AddDefaultTokenProviders();

    services.AddEntityFramework()
        .AddDbContext<PartsDbContext>(options =>
          options.UseSqlServer(Configuration.GetConnectionString("PartsConnection")));

    services.AddMvc();

    services.AddAuthorization(options =>
    {
        options.AddPolicy("RequireAdminRole", policy => policy.RequireRole("Admin"));
    });

    // Add application services.
    services.AddTransient<IEmailSender, AuthMessageSender>();
    services.AddTransient<ISmsSender, AuthMessageSender>();
}

AdminController.cs

[Authorize(Policy = "RequireAdminRole")]
public class AdminController : Controller
{
    private readonly PartsDbContext _context;

    public AdminController(PartsDbContext context)
    {
        _context = context;
    }

    public IActionResult Index()
    {
        return View();
    }

    public IActionResult Towers()
    {
        var model = _context.Towers.ToList();
        return View(model);
    }
}

La líneavar model = _context.Towers.ToList(); es donde se muestra el error.

Una vez más. Quiero configurar mi PartsDbContext para que funcione con Entity Framework Core de manera que EF-Core cree automáticamente la base de datos.

Respuestas a la pregunta(1)

Su respuesta a la pregunta