c# - 如何首先在数据库中自动应用查询类型(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 中避免这种情况?
解决方案
推荐阅读
- reactjs - 使用带有 URL 对象的 Next.js 路由器推送时出现意外行为
- c - 将随机梯度下降转换为小批量梯度下降
- django-views - 使用视图中的一对多相关字段迭代查询集
- oracle11g - oracle 11g 中的并行性
- spring-boot - 从源“http://localhost:4200”访问“http://localhost:8080/api/auth/userdetails”的 XMLHttpRequest 已被 CORS 策略阻止
- nginx - Nginx rewrite 覆盖索引
- flutter - 如何在streambuilder中设置状态
- powerbi - 可以将交互式 Power BI 报表嵌入到电子邮件中吗?
- python - 气流 - 更改单个任务颜色
- r - 无法在ggplot2中按字符填写