EF Core 3.1是否支持在代码优先的DbContext中使用SQL视图?

问题描述 投票:0回答:1

我目前有一个使用EF 3.1的ASP.NET Core项目。我想使用Code-First手动建立大部分的实体,但也有一个链接的服务器,我需要从它那里获取数据。我需要弄清楚如何创建一个实体模型,这个实体模型是这个视图的结果(其中包括一个来自我已经迁移的Code-First表的左连接)。在我的研究过程中,似乎从EF3开始,就支持在Scaffold-dbContext内部的视图,但我担心的是,我只想脚手架这个单一的视图,但仍然可以访问我已经使用的同一个DbContext内部的所有内容。我不想把东西砍在一起,所以请让我知道你是如何在你的项目中完成这样一个任务的。谢谢您的帮助!我目前有一个ASP.NET Core的项目。

entity-framework asp.net-core ef-code-first ef-migrations
1个回答
0
投票

看来我还是能够解决这个问题的。我所做的步骤如下,但如果你知道更好或更多的方法,请纠正我。

  1. 将SQL视图选择到一个新的表中,这样我就可以从它身上生成一个创建脚本。
  2. 将创建脚本复制到类创建工具中,网址是 https:/codverter.comsrcsqltoclass。 所以不必手动将20多个列和类型转换为类属性。
  3. 将生成的属性复制到一个新的模型类中,以SQL视图的名字命名
  4. 在我的DbContext类的现有DbSets下添加了一个新的DbQuery。(看起来DBQuery已经被废弃了,但我目前没有看到其他使用它的方法),并将其命名为与我的SQL视图相同。
  5. 在SQL视图模型类上建立了一个新的控制器,并导航到生成的索引页,以验证数据可以被看到。(成功了!)

如果你对我的这个解决方案有什么更好的想法,请告诉我!

© www.soinside.com 2019 - 2024. All rights reserved.