You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EF Core是否有EF中ExecuteFunction的等效方法?(无实体返回存储过程)

在.NET 6中调用无对应数据库实体的存储过程

原有实现(.NET Framework)

在之前的.NET Framework解决方案中,我们通过以下方式调用返回类型未对应数据库实体的存储过程:

((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<stored_procedure_model_not_in_database>("sp_name", sp params)

当前重构需求与问题

现在基于.NET 6开发微服务,需要重构上述代码以调用同一存储过程(返回类型一致),要求在指定DbContext实例上调用,但返回值类型未在数据库中定义。

我找到的最接近的写法是:

_myDbContext.Database.CreateExecutionStrategy().Execute()

该Execute方法的定义如下:

Execute<TState,TResult>(TState, Func<TState,TResult> operation, Func<TState,ExecutionResult<TResult>>? veritySucceeded)

但不确定其中的TState参数和操作函数该如何编写,也不确定这是否是正确的实现方式,希望得到思路或建议。

补充进展

已找到一个可行的解决方案思路:无需为返回类型创建DbSet,即可从EF Core中获取存储过程的返回结果。测试完成后会更新问题状态。

内容的提问来源于stack exchange,提问作者jmath412

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 18:22:19