具有自定义模型的实体框架核心原始 SQLQueries

2024-03-23

使用 Entity Framework 6,我能够执行原始 SQL 查询并使用 DBContext 中未定义的自定义模型来存储查询的输出。一个简单的例子如下:

List<MyModel> data = context.Database.SqlQuery<MyModel>("SELECT Orders.OrderID, Customers.CustomerName FROM Orders INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;").ToList();

我执行一个 SQL 命令,并期望得到一个自定义模型列表。

我尝试使用 Entity Framework Core 做类似的事情,我发现的最接近的示例将迫使我从 DBContext 定义一个属性。这不允许我使用自定义模型来填充 SQL Server 将返回的数据。

var books = context.Books.FromSql("SELECT * FROM Books").ToList();

此查询通知 Entity Framework Core 该查询将返回书籍列表。有没有办法在 Entity Framework Core 中实现类似的东西?


从 .NET Core 2.1 开始:

  1. Add modelBuilder.Query<YourModel>() to OnModelCreating(ModelBuilder modelBuilder)

  2. Use context.Query<YourModel>().FromSql(rawSql)获取数据

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有自定义模型的实体框架核心原始 SQLQueries 的相关文章

随机推荐

  • 春天有像温莎城堡里的@predestroy 这样的东西吗

    任何类似的东西 PreDestroy在弹簧框架中 如果您定义了一个实现 DisposableBean 接口的 bean 那么 Spring 将调用 void destroy throws Exception 销毁 Bean 之前的方法 这是
  • Python 3 中未解决的全局变量引用

    所以 我不知道为什么 但我在以下函数中收到来自 Pycharm 的 未解析的引用 警告 它们的共同点是运算中也使用了赋值变量 我不明白为什么这行不通 对于警告的内容有什么想法吗 我确实读过这个线程 PyCharm 中未解决的参考问题 htt
  • py2exe 未找到所有依赖项

    我正在尝试从 python 代码创建一个 exe 我可以从命令行很好地运行代码 如下所示 python myScript py 我从这里安装了 py2exe http sourceforge net projects py2exe file
  • 事务内部只允许Ancestor查询,如何处理?

    我需要在 a 内进行查询Transaction 但是我不知道实体 Id 我拥有的是一个字段的值 例如用户名 但不是ID 换句话说 我无法创建一个Key进行查询 我如何进行查询以获取实体内的实体Transaction 在不深入研究更深层次的设
  • 如何从 C++ Windows 客户端使用 ETW

    我正在研究Windows 事件跟踪 https learn microsoft com en us windows hardware test wpt event tracing for windows ETW 允许用户模式 Windows
  • 我如何退出我的应用程序?

    我如何退出我的应用程序 我希望当用户单击按钮时 该应用程序将完全退出 我看到了任何有关它的答案 但他们将该应用程序带到了后端 我想彻底退出 在这个方法中你可以调用exit 在任何地方运行并退出应用程序 所以要随时关闭应用程序 请使用FLAG
  • 查找目录中的文件数

    Linux 中是否有任何方法可以在 O 1 内计算目录 即直接子级 中的文件数 与文件数无关 而不必先列出目录 如果不是 O 1 是否有一种相当有效的方法 我正在寻找替代方案ls wc l readdir 并不像您想象的那么昂贵 诀窍是避免
  • C#:如何使用 directshow.net 显示此对话框?

    如何使用 Directshow net 调用此对话框 过滤图 https stackoverflow com questions 4680606 c how to open configuration pin dialog 假设您有 IBa
  • C语言中如何释放内存?

    我正在编写具有大量一维和二维数组的代码 我收到 错误 无法分配区域 我认为这是因为分配了太多内存 我使用 malloc 和 free 函数 但我不确定我是否正确使用它们 也许你知道我在哪里可以看到关于 C 内存管理的好例子 所以 我只是想让
  • 没有可用于离线模式的缓存版本 Gradle 插件

    我有一段时间没有使用 Android Studio 但决定更新所有内容并创建一个新项目 如果我转到 首选项 gt 构建 执行 部署 gt Gradle 我会收到上述错误 没有像其他地方建议的那样 离线工作 选项没有可用于离线模式的 grad
  • 绑定 IList 不显示 IMyInterface 继承的接口成员

    我将 IList 绑定到 GridView IMyInterface 看起来像 public interface IMyInterface IHasTotalHours IHasLines DateTime GoalStartDate ge
  • SQL Server 列的层次总和

    我按照图表设计了数据库 Category表是自引用父子关系 Budget将为每个类别定义所有类别和金额 Expense表将包含已花费金额的类别条目 考虑Total此表中的列 我想编写选择语句来检索具有以下给出的列的数据集 ID Catego
  • 将 ActionBar 添加到 Android API Level 8 应用程序?

    我知道互联网上有很多关于如何做到这一点的零碎材料 但我请求有人给我一个逐步指南 告诉我如何从一开始就如何添加库 将代码添加到我的 Android 应用程序 项目 我喜欢这个的外观 https github com johannilsson
  • 如何通过docker API正确获取docker镜像的总大小?

    我想通过docker API获取docker镜像的总大小 例如GET v2
  • 在 Laravel 中转义带引号的字符串

    我想将 Excel 文件的内容插入到我的数据库中 我只是使用原始查询来实现此目的 The controller function public function uploadExcel filename Input file import
  • jetpack compose 中的 textAllCaps

    我怎样才能达到同样的效果textAllCaps在 Jetpack Compose 中 我知道我可以使用toUpperCase字符串本身的方法将字符串转换为大写 但我想知道是否有一个属性可以添加到Text可组合以直观地将文本转换为大写 Tex
  • 如何使用关键字跳过机器人框架中的测试用例

    我正在尝试使用关键字跳过特定的测试用例 是否有任何关键字可以做到这一点 我想做的是检查文件名是否有 跳过 一词 然后我想跳过它 是否有任何关键字 例如 跳过测试 跳过执行如果 regex Get Regexp Matches TEST NA
  • Laravel 身份验证 - 不同表中的电子邮件

    我有两张桌子 persons id name email phone person type id users id person id password role id etc 你能告诉我如何让 Laravel 5 8 内置的身份验证系统
  • PDF不显示图像:html2pdf库

    我使用 Angular 5 和 html2pdf 库来帮助创建 pdf 文件 https github com eKoopmans html2pdf https github com eKoopmans html2pdf 这用于我的 Ang
  • 具有自定义模型的实体框架核心原始 SQLQueries

    使用 Entity Framework 6 我能够执行原始 SQL 查询并使用 DBContext 中未定义的自定义模型来存储查询的输出 一个简单的例子如下 List