gpt4 book ai didi

sql-server - 将 SQL Server 命名参数与 ExecuteStoreQuery 和 ExecuteStoreCommand 结合使用

转载 作者:行者123 更新时间:2023-12-02 09:01:58 25 4
gpt4 key购买 nike

在直接调用存储过程或函数时,我尝试将 SQL Server 命名参数与 ObjectContext.ExecuteStoreQueryObjectContext.ExecuteStoreCommand 结合使用。

SQL Server 命名参数与 Entity Framework 命名参数不同 - 它们允许我执行与此类似的查询:

EXEC sp_GetData @firstParameter = 1, @thirdParameter = 2, @secondParameter = 1

与按顺序计算的 Entity Framework 命名参数相比,此查询中参数的顺序并不重要。

我想将 SQL Server 命名参数与 Entity Framework 结合使用,这样,如果存储过程中参数的顺序发生更改,则调用它的 Entity Framework 代码不会受到影响。

最佳答案

为了使其按预期工作,您需要将查询文本设置为参数化查询。棘手的部分是您只需要确保参数的命名与 SP 参数的命名不同即可:

var cmdText = "[DoStuff] @Name = @name_param, @Age = @age_param";
var @params = new[]{
new SqlParameter("name_param", "Josh"),
new SqlParameter("age_param", 45)
};

ObjectContext.ExecuteStoreQuery<MyObject>(cmdText, @params);

关于sql-server - 将 SQL Server 命名参数与 ExecuteStoreQuery 和 ExecuteStoreCommand 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13035353/

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