Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 保留单个实体对象或每次使用一个新对象_C#_.net_Entity Framework 4 - Fatal编程技术网

C# 保留单个实体对象或每次使用一个新对象

C# 保留单个实体对象或每次使用一个新对象,c#,.net,entity-framework-4,C#,.net,Entity Framework 4,事情是这样的: 我正在使用VisualStudio生成的实体数据模型,我想知道它是否更高效(内存使用问题)要在我的所有应用程序中保留一个实体上下文对象并在关闭应用程序时进行处理,或者每次需要访问数据并在之后进行处理时创建一个新的实体上下文对象?我的答案基于您所说的实体上下文的假设。标准做法是在使用完对象后将其处理掉。这是因为它可以使用大量内存,并且可以保持一个或多个DB连接处于打开状态。您想错了!对不起,问题的不连贯性,编辑得更清楚,谢谢你的回答,你说的很有道理,但是有些同事认为保留一个对象会更

事情是这样的:


我正在使用VisualStudio生成的实体数据模型,我想知道它是否更高效(内存使用问题)要在我的所有应用程序中保留一个实体上下文对象并在关闭应用程序时进行处理,或者每次需要访问数据并在之后进行处理时创建一个新的实体上下文对象?

我的答案基于您所说的实体上下文的假设。标准做法是在使用完对象后将其处理掉。这是因为它可以使用大量内存,并且可以保持一个或多个DB连接处于打开状态。

您想错了!对不起,问题的不连贯性,编辑得更清楚,谢谢你的回答,你说的很有道理,但是有些同事认为保留一个对象会更有效,正在进行调查……这取决于你的用例。创建上下文只需很少的时间。通常,您希望尽快处理上下文以释放数据库资源。例如,我们的web应用程序为每个HTTP请求创建一个上下文,并在请求结束时处理它。如果我们在整个会话中都保留它,那么很快就会耗尽可用的数据库连接。