gpt4 book ai didi

c# - Entity Framework Context 是否应该放在 Using 语句中?

转载 作者:IT王子 更新时间:2023-10-29 03:44:11 25 4
gpt4 key购买 nike

Entity Framework 上下文对象实现了一个 Dispose() 方法,该方法“释放对象上下文使用的资源”。它到底有什么作用?总是把它放在 using {} 语句中会不会是一件坏事?我已经看到它在有和没有 using 语句的情况下都被使用。

我特别打算在 WCF 服务方法中使用 EF 上下文,创建上下文,执行一些 linq 并返回答案。

编辑: 似乎我不是唯一对此感到疑惑的人。另一个问题是 Dispose() 方法内部到底发生了什么。有人说它会关闭连接,而有些文章则说不会。怎么回事?

最佳答案

如果你创建了一个上下文,你必须稍后处理它。是否应该使用 using 语句取决于上下文的生命周期。

  1. 如果您在一个方法中创建上下文并仅在该方法中使用它,您应该真正使用 using 语句,因为它无需任何额外代码即可为您提供异常处理。

  2. 如果您长时间使用上下文 - 即生命周期不受方法执行时间的限制 - 您不能使用 using 语句,您必须调用自己 Dispose() 并注意始终调用它。

Dispose() 对对象上下文做了什么?

我没有查看代码,但至少我预计它会关闭与其底层套接字或传输机制使用的任何资源的数据库连接。

关于c# - Entity Framework Context 是否应该放在 Using 语句中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/824330/

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