gpt4 book ai didi

c# - 这是 using 的正确用法吗?

转载 作者:行者123 更新时间:2023-12-02 02:15:42 26 4
gpt4 key购买 nike

我不确定如何正确使用 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();
}
}

最佳答案

using与生命周期管理紧密相关,这是一个复杂的问题。

通常使用using您在这里部署的目的是您的方法拥有的;例如,这里:

using (var dbContext = new DbContext(whatever))
{
// some code
}

(或者在最近的 C# 版本中只是 using var dbContext = new DbContext(whatever);)

在上面,我们显然正在创建这个东西,因此我们的工作就是确保它得到处理,这要归功于 using .

但是,在问题的示例中,尚不清楚 _db_ClubIsOpen 是什么。是什么,或者生命周期是什么,或者谁拥有它。默认情况下,我绝对不会假设某个方法负责获取任意字段的所有权,因此我不会期望使用 using在这里,在using (_someField)的意义上如问题所示。相反,我希望某个 DI/IoC 框架能够处理该问题(如果正在注入(inject)),或者我希望该类型实现 IDipsosable ,并处理 Dispose() 中的字段的处理

关于c# - 这是 using 的正确用法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67215280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com