EF Core 2.1中数据库视图的Scaffold-DbContext(查询类型)

时间:2018-07-17 10:12:02

标签: asp.net-core ef-core-2.1

EF Core 2.1具有新功能-查询类型

  

查询类型的一些主要使用方案是:

     
      
  • 用作临时FromSql()查询的返回类型。
  •   
  • 映射到数据库视图。
  •   
  • 映射到未定义主键的表。
  •   
  • 映射到模型中定义的查询。
  •   

我将项目升级到Core 2.1,但是Scaffold-DbContext仍然不生成数据库视图。我必须使用特殊参数,还是Scaffold-DbContext不支持它?

2 个答案:

答案 0 :(得分:2)

2.1不支持。参见问题#1679

答案 1 :(得分:2)

这是一个骇人但可行的解决方案:

如何使用EF Core 2.1的数据库视图来搭建控制器

  1. 在数据库中创建视图。
  2. 创建与视图具有相同结构的POCO。
  3. 添加在步骤2中创建的具有POCO的新控制器 一种。如果发生与密钥相关的错误,请在列上添加Key属性,然后在完成脚手架后将其删除。
  4. 应该添加带有DbSet<T>的新属性,其中T是在步骤2中创建的类。将DbSet更改为DbQuery
  5. OnModelCreating的{​​{1}}方法中,添加以下代码:

    DbContext

Source