c# - 从数据库 c# asp.net mvc core 更改现有应用程序
问题描述
所以我开发了一个应用程序,它使用数据库来获取它的信息。该数据库存在于一个具有 32 列的表中。所以我有一个模型“Home”,它有 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());
}
}
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 });
}
}
在 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 HomeRepository(ApplicationDbContext dbContext)
{
_dbContext = dbContext;
_homes2 = dbContext.homes;
_homes = new List<Home>() { new Home() };
}
并基于该存储库配置所有方法。现在我发现在生产中,我基于这个应用程序的这个数据库是完全不同的。它们实际上是 2 个独立的数据库,每个数据库都有多个表(就像通常的情况一样,我不会说当我开始使用这个数据库时我觉得很奇怪,但我不应该质疑我被赋予的任务)。所以现在我想知道,有没有办法在不完全重新开始的情况下进行这种过渡?我能否以某种方式映射这些数据库,以便我的 Home 对象仍然可以包含所有 32 个属性,或者这是不行的?
提前致谢
解决方案
推荐阅读
- c++ - 如何在 Visual Studio 上设置 libcurl
- python - 多次解决优化时的Python PuLP“覆盖先前设置的目标”警告
- javascript - TypeScript 模态对话框承诺响应
- ios - layoutifneeded 不会触发 layoutSubviews
- sql-server - 如何在sql server中连接Azure数据库
- c# - 在输入文本中有多个 % 运算符的 LINQ 中等效的 SQL LIKE 运算符是什么?
- elasticsearch - 如何使用摄取插件导入文本数据?
- python - 如何计算两个日期时间的月差?
- scala - 如何将 List[String] 或 List[Double] 转换为 List[Row]?
- reactjs - 我有一个 React 客户端和 Jetty 服务器,我想在这两者之间建立一个接口,以便我可以传递我的 CORS 标头。如何做到这一点?