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);