【问题标题】:Scaffold-DbContext for database views in EF Core 2.1 (Query Types)EF Core 2.1(查询类型)中数据库视图的 Scaffold-DbContext
【发布时间】:2018-07-17 10:12:01
【问题描述】:

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

查询类型的一些主要使用场景是:

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

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

【问题讨论】:

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


    【解决方案1】:

    这是一个老套但有效的解决方案:

    如何将带有数据库视图的控制器搭建到 EF Core 2.1

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

      modelBuilder.Query<POCO from step#2>().ToView("Name of the view");
      

    Source

    【讨论】:

    • 感谢您的指导,我对这个很陌生,下次我会确保它。
    • 内容已更新。
    【解决方案2】:

    2.1 不支持。请参阅问题#1679

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 2021-01-02
    • 2020-04-07
    相关资源
    最近更新 更多