现有应用程序正在从数据库c#asp.net mvc核心更改

现有应用程序正在从数据库c#asp.net mvc核心更改,c#,C#,所以我开发了一个应用程序,它使用数据库获取信息。此数据库存在于一个包含32列的表中。所以我有一个模型“家”,它有32个属性。我的应用程序有一个DbContext,如下所示: public class ApplicationDbContext : DbContext { public DbSet<Home> homes { get; set; } public ApplicationDbContext(DbContextOptions<ApplicationDbC

所以我开发了一个应用程序,它使用数据库获取信息。此数据库存在于一个包含32列的表中。所以我有一个模型“家”,它有32个属性。我的应用程序有一个DbContext,如下所示:

public class ApplicationDbContext : DbContext
{
    public DbSet<Home> homes { get; set; }
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
    {

    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.ApplyConfiguration(new HomeConfiguration());
    }
}
class HomeConfiguration : IEntityTypeConfiguration<Home>
{
    public void Configure(EntityTypeBuilder<Home> builder)
    {
        builder.ToTable<Home>("Home");
        // Mappen Primary key
        builder.HasKey(t => new { t.Month, t.Number });
    }
}
public HomeRepository(ApplicationDbContext dbContext)
{
    _dbContext = dbContext;
    _homes2 = dbContext.homes;
    _homes = new List<Home>() { new Home() };
}
公共类ApplicationDbContext:DbContext
{
公共DbSet homes{get;set;}
公共应用程序DBContext(DbContextOptions选项):基本(选项)
{
}
模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
基于模型创建(modelBuilder);
modelBuilder.ApplyConfiguration(新HomeConfiguration());
}
}
家庭配置如下所示:

public class ApplicationDbContext : DbContext
{
    public DbSet<Home> homes { get; set; }
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
    {

    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.ApplyConfiguration(new HomeConfiguration());
    }
}
class HomeConfiguration : IEntityTypeConfiguration<Home>
{
    public void Configure(EntityTypeBuilder<Home> builder)
    {
        builder.ToTable<Home>("Home");
        // Mappen Primary key
        builder.HasKey(t => new { t.Month, t.Number });
    }
}
public HomeRepository(ApplicationDbContext dbContext)
{
    _dbContext = dbContext;
    _homes2 = dbContext.homes;
    _homes = new List<Home>() { new Home() };
}
class HomeConfiguration:IEntityTypeConfiguration
{
公共void配置(EntityTypeBuilder)
{
建筑商:不动产(“房屋”);
//Mappen主键
HasKey(t=>new{t.Month,t.Number});
}
}
连接是在Startup.cs中建立的

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

    services.AddSession();
    services.AddMvc();
    services.AddScoped<IHomeRepository, HomeRepository>();
}
public void配置服务(IServiceCollection服务)
{
services.AddDbContext(选项=>
options.UseSqlServer(Configuration.GetConnectionString(“DefaultConnection”));
services.AddSession();
services.AddMvc();
services.addScope();
}
存储库构造函数如下所示:

public class ApplicationDbContext : DbContext
{
    public DbSet<Home> homes { get; set; }
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
    {

    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.ApplyConfiguration(new HomeConfiguration());
    }
}
class HomeConfiguration : IEntityTypeConfiguration<Home>
{
    public void Configure(EntityTypeBuilder<Home> builder)
    {
        builder.ToTable<Home>("Home");
        // Mappen Primary key
        builder.HasKey(t => new { t.Month, t.Number });
    }
}
public HomeRepository(ApplicationDbContext dbContext)
{
    _dbContext = dbContext;
    _homes2 = dbContext.homes;
    _homes = new List<Home>() { new Home() };
}
公共HomeRepository(ApplicationDbContext dbContext)
{
_dbContext=dbContext;
_home2=dbContext.homes;
_homes=new List(){new Home()};
}
并基于该存储库配置所有方法。 现在我发现,在生产中,我基于此应用程序的数据库一点也不相似。它们实际上是两个独立的数据库,每个数据库都有多个表(就像通常的情况一样,当我开始使用这个数据库时,我不会说我觉得很奇怪,但这不是我质疑所给任务的地方)。 所以现在我想知道,有没有一种方法可以在不完全从头开始的情况下实现这种转变?我是否可以以某种方式映射这些数据库,使我的主对象仍然可以包含所有32个属性,或者这是一个不可行的方法


提前感谢

数据库在什么DBMS上?@squillman通过代码示例判断它是sqlserver@Konrad ... 当然是时候喝更多的咖啡了。这确实是sql server