gpt4 book ai didi

entity-framework - 在 ExecuteStoreQuery EF 中执行存储过程。这是 EF 中的错误吗?

转载 作者:行者123 更新时间:2023-12-03 07:26:38 27 4
gpt4 key购买 nike

尝试使用以下代码执行 EF 中的存储过程:

var params = new object[] {new SqlParameter("@FirstName", "Bob")};
return this._repositoryContext.ObjectContext.ExecuteStoreQuery<ResultType>("GetByName", params);

但不断收到此错误:

Procedure or function 'GetByName' expects parameter '@FirstName', which was not supplied.

以及来自 sql profiler 的:

exec sp_executesql N'GetByName',N'@FirstName nvarchar(100),@FirstName=N'Bob'

上面的 ExecuteStoreQuery 代码有什么问题?

最佳答案

忽略 params 是保留字的事实...

认为您的查询需要:

var params = new object[] {new SqlParameter("@FirstName", "Bob")};
return this._repositoryContext.ObjectContext.ExecuteStoreQuery<ResultType>("exec GetByName @FirstName", params);

还应该说,如果该过程是您的数据库和数据模型的标准部分,那么您应该 import it into your EDM因此它可以直接在您的上下文中使用。

关于entity-framework - 在 ExecuteStoreQuery EF 中执行存储过程。这是 EF 中的错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10289626/

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