EF Core SaveChangesAsync会在出现异常且未包装在try ... catch中时阻止调用

时间:2018-10-17 04:08:02

标签: c# entity-framework asp.net-core entity-framework-core ef-core-2.1

我正在尝试使用外键在表中插入记录。当外键有效时,它可以正常工作,但是当外键无效时,SaveChangesAsync()阻止调用,UI停止响应。如果我将其包装在try..catch块中,则会引发错误并可以正常工作。

如果有错误,为什么SaveChangesAsync不会把它扔回来?

Address Table
---------------------
Id    Street    City
1     Street A  City


container = new Container {
    Name = "Box",
    Size = 10
}
await _context.Container.AddAsync(container)

person = new Persion {
   Name = "A",
   AddressId = 2
   Container = container
}

await _context.Person.AddAsync(person);
await _context.SaveChangesAsync(true);
return container;

谢谢

0 个答案:

没有答案