【发布时间】:2017-04-18 13:49:19
【问题描述】:
我想知道在以下两个示例之间使用 C# 和 SQL Server(实体框架)的最佳实践是什么:
1- 每次您想使用 SQL Server 时打开连接并在之后立即关闭它? (我使用实体框架 using 语句)
2- 打开一次连接并在所有需要完成的任务需要的时候保持连接,即使有代码不需要打开 SQL 连接来运行? (在这种情况下,我会自己控制上下文而不使用 using 语句)
我知道这个问题并不复杂,但我仍然是数据库和编程领域的新手。
非常感谢您的回答!
【问题讨论】:
-
取决于
"as long as needed for all the tasks that need to be done"的含义。什么任务?你实际上在做什么?你能提供例子吗? -
这个问题太宽泛而且基于观点 - 没有一个正确的答案。
-
我不同意
too broad的说法。众所周知,EF 在应用大量更改时会减慢其上下文(由于更改跟踪器)。充其量这将是重复的,但这应该传达给 OP。 -
备案;这将争辩说,短暂的环境是首选。顺便说一下,适用于所有与内存管理相关的问题。除非有正当理由(未给出),否则所有对象在处理时都必须被处置。
标签: c# sql-server entity-framework