2
我正在使用实体框架来编写使用ASP.NET MVC编写的应用程序。如何执行存储过程并忘记使用C#和实体框架?
我需要能够调用存储过程并忘记它。我不关心我只是想触发它的结果。
我试图通过使用单独的连接来调用使用ExecuteSqlCommandAsync
方法的存储过程来完成该操作。但是这个存储过程似乎并没有被解雇。
这里是我的异步方法
protected async Task ProcessRecords(DateTime loadedAt, string email)
{
try
{
using (var conn = new AppContext())
{
var result = conn.Database.ExecuteSqlCommandAsync("EXEC [DedecatedProcesses] @p0, @p1;", loadedAt, email);
await Task.WhenAll(result);
}
}
catch (Exception e)
{
// Do something with e.Message
}
}
然后从操作方法与控制器我把它像这样
var loaded = ProcessRecords(DateTime.UtcNow, model.Email);
运行我的代码,我没有得到任何错误,但程序不运行。
当我使用SSMS执行存储过程时,它运行时没有问题。
如何正确调用存储过程并忘记它?
只有当语句中有多行时才需要'EXEC',因此在您的代码中没有必要使用 – Dalorzo
@Dororzo感谢您的支持。但是关于如何触发SP并忘记它的任何线索? –
首先尝试运行而不使用封装异步方法。并确保您正确调用过程。 我通常通过使用“功能导入”将模型添加到模型中来运行我的实体中的特效。 – DaniDev