【发布时间】:2021-07-16 19:05:36
【问题描述】:
我不知道如何正确使用 using 语句。
我尝试这样:
[HttpDelete("{ClubId}", Name = "DeleteOpenings_Club")]
public async Task<IActionResult> DeleteClub_IsOpening([FromRoute] string ClubId)
{
using (_db_ClubIsOpen)
{
var result = _db_ClubIsOpen.ClubIsOpen_TBL.Where(x => x.FK_Club == ClubId);
foreach (var item in result)
{
_db_ClubIsOpen.ClubIsOpen_TBL.Remove(item);
}
_db_ClubIsOpen.SaveChanges();
return Ok();
}
}
【问题讨论】:
-
不是我的 DBContext 我使用 EF6
-
什么是
_db_ClubIsOpen?它从哪里来的?预期寿命是多少?我会不假设您的控制器方法旨在处理它没有创建的东西,所以......谁创建了它?生命周期管理很复杂,我们这里没有所有上下文 -
那你可能不想要
using- 它只是语法糖,using(X){ ... }被翻译成X; try { ... } finally {X.Dispose()} -
_db_ClubIsOpen几乎听起来像是bool,说实话。 -
@Lawrence
using绝对 生成try/finally;这正式记录在语言规范§13.14(ECMA 334)中;此外,using与 GC 直接没有任何关系