Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何执行EF Database.EXECUTESQL命令异步?_Asp.net_Sql Server_Entity Framework_Asp.net Web Api_Entity Framework 6 - Fatal编程技术网

Asp.net 如何执行EF Database.EXECUTESQL命令异步?

Asp.net 如何执行EF Database.EXECUTESQL命令异步?,asp.net,sql-server,entity-framework,asp.net-web-api,entity-framework-6,Asp.net,Sql Server,Entity Framework,Asp.net Web Api,Entity Framework 6,以下是我正在使用的代码: public async Task<IHttpActionResult> NewTopicTests([FromBody] NewTopicTestsDTO testSpec) { var sql = @"dbo.sp_new_topic_tests @Chunk"; SqlParameter[] parameters = new SqlParameter[] {

以下是我正在使用的代码:

    public async Task<IHttpActionResult> NewTopicTests([FromBody] NewTopicTestsDTO testSpec)
    {
        var sql = @"dbo.sp_new_topic_tests @Chunk";
        SqlParameter[] parameters = new SqlParameter[]
                    {
                        new SqlParameter("@Chunk", testSpec.Chunk)
                    };
        int result = db.Database.ExecuteSqlCommand(sql, parameters);
        await db.SaveChangesAsync();
        return Ok();
    }

请注意,代码可以工作,但是我的应用程序出现问题,它突然停止,没有任何错误消息。我正在调查每一个可能的问题

这里保存了什么?我认为没有必要在这里调用save changes

删除保存更改,您将看到相同的行为,因为您在存储过程中所做的任何更改都不会被实体框架上下文跟踪

您可以按如下方式重写代码:

int result = await db.Database.ExecuteSqlCommandAsync(sql, parameters);
你检查过每一个地方来找出你问题的原因吗?Windows错误日志等


转到Visual Studio IDE的“调试”菜单,打开异常,然后检查“抛出”和“用户未处理”中的“公共语言运行时异常”,并再次测试代码。

感谢您对如何检查VS的建议
int result = await db.Database.ExecuteSqlCommandAsync(sql, parameters);