Sam*_*tar 2 sql-server asp.net 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[]
{
new SqlParameter("@Chunk", testSpec.Chunk)
};
int result = db.Database.ExecuteSqlCommand(sql, parameters);
await db.SaveChangesAsync();
return Ok();
}
Run Code Online (Sandbox Code Playgroud)
有人可以确认这是否是使用异步执行此操作的正确方法?特别是我需要这样做:
int result = db.Database.ExecuteSqlCommand(sql, parameters);
await db.SaveChangesAsync();
Run Code Online (Sandbox Code Playgroud)
请注意,代码有效,但我的应用程序出现问题,突然停止,没有任何错误消息.我正在调查每一个可能的问题.
在这里保存了什么?我认为没有必要在这里调用保存更改.
删除保存更改,您将看到相同的行为,因为您在存储过程中所做的任何更改都不会被实体框架上下文跟踪.
您可以按如下方式重写代码:
int result = await db.Database.ExecuteSqlCommandAsync(sql, parameters);
Run Code Online (Sandbox Code Playgroud)
你有没有检查过哪里找到问题的原因?Windows错误日志等?
转到Visual Studio IDE的Debug菜单,打开Exceptions,然后检查'common'和'user_unhandled'是否为'Common Language Runtime Exceptions'并再次测试你的代码.
| 归档时间: |
|
| 查看次数: |
3044 次 |
| 最近记录: |