sql - 将原始 SQL 结果映射到 .NET Core 中的对象列表

标签 sql .net entity-framework .net-core dbcontext

我正在从 .NET Framework 过渡到 Core,虽然这是一个几乎无缝且有益的过程,但也存在一些困难。

最新的内容是如何执行相当简单的基于 EF 的任务,即从原始查询中获取结果并将这些结果映射到给定类型的对象列表中。在 Framework 中,我可以这样:

using (DbContext Context = new DbContext(Connection))
{
    return Context.Database.SqlQuery<T>(Sql).ToList<T>();
}

Connection 是原始连接字符串,Sql 是原始查询字符串,T 任何已知适合输出的给定类型

在 Core 中,除了连接字符串之外,我似乎无法获取新的上下文,而且我也无法应用 SqlQuery 方法。在 Core 中必须有一种快速简便的方法来执行此操作,但我似乎找不到它。

我确实在项目中安装了 System.Data.CommonSystem.Data.SqlClient,以及 EntityFrameworkCore

最佳答案

我认为我自己的问题的答案是,这在 EF Core 中根本无法完成——至少无法以这种非常自动的方式完成。它需要一些额外的工作,以手动解析和循环查询结果。这很不幸,但没什么大不了的。

关于sql - 将原始 SQL 结果映射到 .NET Core 中的对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50538665/

相关文章:

mysql - SQL - 如何计算列值并与另一个表连接

.net - Entity Framework - 如何检测可恢复与不可恢复的异常

c# - 无法将直接 SQL 查询的结果从通用列表转换为列表 <long>

c# - 执行网络方法时出错

php - 具有多个值的搜索表单查询 - PHP/MYSQL

sql - SQL FTS和比较语句

.net - 如何以编程方式删除 WebClient 中的 2 个连接限制

c# - 编译 C# 不安全代码

c# - C#.net循环线程堆栈溢出

c# - DbContext.ChangeTracker.HasChanges 非常慢