gpt4 book ai didi

c# - Dapper 和 FBCommand

转载 作者:行者123 更新时间:2023-11-30 22:08:43 24 4
gpt4 key购买 nike

我有一个关于如何使用 Dapper 编写 SQL 的问题。

现在我使用这样的东西:

resultObject result;
String sqlCmd = String.Format("select * from SOME_PROCEDURE('{0}',{1},{2})", Param1, Param2, Param3);
result = FbConnection1.Query<resultObject>(sqlCmd, null).ToList();

但现在我发现它不是那么干净,我找到了一个允许我使用的FBCommand

FbCommand cmd = new FbCommand("select * from SOME_PROCEDURE(@param1, @param2)");
cmd.Parameters.Add("@param1", FbDbType.Integer).Value = value1;
cmd.Parameters.Add("@param2", FbDbType.Integer).Value = value2;

我不知道如何使用 FBCommand 来使用 Dapper,这可能吗?或者也许使用 String.Format 构建 SQL 是个好方法?

最佳答案

如果有一个相应的FbConnection,并且如果那个连接是一个标准的ADO.NET实现,并且如果 它支持标准参数,那么是的,你可以尝试这样做:

using(FbConnection conn = ...)
{
var data = conn.Query<SomeType>(
"select * from SOME_PROCEDURE(@value1, @value2)",
new { value1, value2 }).ToList();
// ...
}

你也可以试试:

using(FbConnection conn = ...)
{
var data = conn.Query<SomeType>("SOME_PROCEDURE",
new { param1 = value1, param2 = value2 },
commandType: CommandType.StoredProcedure).ToList();
// ...
}

关于c# - Dapper 和 FBCommand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22090686/

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