gpt4 book ai didi

c# - 无法使用 db.Database.SqlQuery(sql) 执行我的 SQL Server 存储过程

转载 作者:太空宇宙 更新时间:2023-11-03 21:14:03 25 4
gpt4 key购买 nike

我正在尝试从我的 C# 代码执行 SQL Server 存储过程。这是我正在使用的代码:

var sql = @"test";   

try
{
var query = db.Database.SqlQuery(sql);
return Ok();
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}

存储过程如下:

CREATE PROCEDURE [dbo].[test]
AS
BEGIN
BEGIN TRY
BEGIN TRANSACTION;
PRINT 'INSERT 1 START';
INSERT INTO Message (Text, TypeId) VALUES ('Message 5', 0);
THROW 50002,'thrown',1;
PRINT 'INSERT 2 START';
INSERT INTO Message (Text, TypeId) VALUES ('Message 6', 0);
PRINT 'GOT HERE';
COMMIT TRANSACTION;
RETURN;
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION;
RETURN;
END CATCH

END

我收到一条消息说:

Severity Code Description Project File Line Suppression State Error CS0411 The type arguments for method 'Database.SqlQuery(string, params object[])' cannot be inferred from the usage. Try specifying the type arguments explicitly. WebRole C:\H\server\WebRole\Controllers\Web API - Data\MessageController.cs 28 Active

谁能告诉我我做错了什么。此外,这只是对我的测试,但我希望能够提交或回滚事务。我需要在 C# 端做些什么才能使这成为可能吗?

最佳答案

尝试使用ExecuteSqlCommand 方法,如下所示:

db.Database.ExecuteSqlCommand("exec dbo.test");

关于c# - 无法使用 db.Database.SqlQuery(sql) 执行我的 SQL Server 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35684069/

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