gpt4 book ai didi

c# - 如何使用 EntityFrameworkCore 运行原始 SQL 查询并将结果映射到 IEnumerable 类型?

转载 作者:太空宇宙 更新时间:2023-11-03 12:04:41 25 4
gpt4 key购买 nike

我是 EntityFramework 核心的新手。我正在将现有的 .net framework4.6.1 应用程序移动到 .net core 2。在 EntityFramework 6 中,我们能够运行原始 SQL 查询,并且能够使用以下代码获取映射到类型 (T) 的值。

public IEnumerable<T> ExecuteSQL<T>(string sql)
{
return Context.Database.SqlQuery<T>(sql, new object[] { });
}

但是,EFcore 不支持这个。我想使用 EntityFrameworkCore 运行原始 SQL 查询,我应该能够将结果映射到 IEnumerable 中。 EFCore 中似乎没有 SqlQuery。请帮助我找到实现该功能的替代方法。 .提前致谢。

注意:在这里,T 不是DbSet 类。它是一个ViewModel,它具有来自多个表的字段的组合。

最佳答案

根据 Entity Framework 核心文档,您可以使用 Query().FromSql(sql) 方法。

public IEnumerable<T> ExecuteSQL<T>(string sql) where T : class
{
return context.Query<T>().FromSql(sql).ToList();
}

更多详情 Explained here

关于c# - 如何使用 EntityFrameworkCore 运行原始 SQL 查询并将结果映射到 IEnumerable<T> 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55658093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com