gpt4 book ai didi

c# - Entity Framework 中基于动态 SQL 的存储过程调用

转载 作者:行者123 更新时间:2023-11-30 15:05:50 27 4
gpt4 key购买 nike

对于我们最近的一个项目,我们创建了一个存储过程来生成 SQL 并最终执行它。存储过程的目的是基于动态列创建数据透视表。

当我尝试使用 Entity Framework 访问它时,当我尝试访问存储过程时使用通常的函数导入,它会返回任何东西,因为它需要一个动态类型来存储检索到的数据。

在我们的例子中,这是一个动态查询,而 linq 无法获取返回的列。因此,为了解决我所做的事情,我以传统方式调用存储过程,即创建 DataAdapterSqlCommand 对象以及 SqlConnection 对象。

但是使用 Entity Framework 调用这种存储过程的正确方法是什么?

提前致谢。

最佳答案

Entity Framework 不支持来自存储过程的动态结果集。它还不支持使用动态 SQL 的存储过程,因为它无法从过程中获取静态结果集声明。因此,您必须确保您的过程将始终返回静态类型(具有相同名称的相同数量的列),或者您必须使用传统的 ADO.NET 来执行该过程。

关于c# - Entity Framework 中基于动态 SQL 的存储过程调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8667815/

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