首页 > 解决方案 > 如何首先在数据库中自动应用查询类型(Scaffold-DbContext)而不会在重新生成时丢失它们?

问题描述

我正在使用Scaffold-DbContext从数据库创建实体。我还使用查询类型创建视图实体。目前我从生成的上下文中继承,在类型的构造函数中添加了自定义类型public DbQuery<TType> TTypes { get; set; }do 基本public TContext(DbContextOptions<TContext> options): base(options),我也覆盖ModelBuilder了 do modelBuilder.Query<TType>().ToView("TTypeView", "TSchema");。在基础脚手架中,我添加了带非泛型DbContextOptions参数的受保护构造函数,例如protected TBaseContext(DbContextOptions options) : base(options).

这基本上是按照https://github.com/aspnet/EntityFrameworkCore/issues/7533#issuecomment-353669263上的说明进行的,最初我是从How do I implementation for multiple databases in EF7 / .NET Core 中挖掘出来的

我只使用继承来将新类型添加到上下文中。在从数据库中重新构建脚手架时添加受保护的构造函数是一个小麻烦。有没有办法在 EF Core 2.1 中避免这种情况?

标签: c#entity-framework-core

解决方案


推荐阅读