gpt4 book ai didi

entity-framework - EF4.1 代码优先 : Stored Procedure with output parameter

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

我首先使用实体​​框架 4.1 代码。我想调用一个具有输出参数的存储过程,并检索该输出参数的值以及强类型结果集。它是一个带有这样签名的搜索功能

public IEnumerable<MyType> Search(int maxRows, out int totalRows, string searchTerm) { ... }

我发现了很多关于“函数导入”的提示,但这与 Code First 不兼容。
我可以使用 Database.SqlQuery(...) 调用存储过程,但这不适用于输出参数。

我可以使用 EF4.1 Code First 解决这个问题吗?

最佳答案

SqlQuery使用输出参数,但您必须正确定义 SQL 查询和设置 SqlParameter s。尝试类似:

var outParam = new SqlParameter();
outParam.ParameterName = "TotalRows";
outParam.SqlDbType = SqlDbType.Int;
outParam.ParameterDirection = ParameterDirection.Output;

var data = dbContext.Database.SqlQuery<MyType>("sp_search @SearchTerm, @MaxRows, @TotalRows OUT",
new SqlParameter("SearchTerm", searchTerm),
new SqlParameter("MaxRows", maxRows),
outParam);
var result = data.ToList();
totalRows = (int)outParam.Value;

关于entity-framework - EF4.1 代码优先 : Stored Procedure with output parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8180310/

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