关于每次不使用都创建不同数据库上下文有任何问题

问题描述 投票:1回答:1

嗯,我想知道使用以下方法可能出现的问题

CreateContextFactory().Create().QueryOpenConnectionCount();

而不是:

using (var context = CreateContextFactory().Create())
{
      openConnectionCount = context.QueryOpenConnectionCount();
}
return openConnectionCount;

以及如果有类似问题,]:

CreateContextFactory().Create().QueryOpenConnectionCount1();
CreateContextFactory().Create().QueryOpenConnectionCount2();
CreateContextFactory().Create().QueryOpenConnectionCount3();

这是因为我在类中有一些如上所述的方法,它们是开放的db上下文,我可以为它们创建一个using语句,但是我需要为所有方法传递上下文,并且还需要重构a使用db上下文执行事务的辅助程序(因为它在内部创建了自己的上下文)。那么,让代码保持这种方式会有什么问题呢?

嗯,我想知道使用以下方法CreateContextFactory()。Create()。QueryOpenConnectionCount();可能出现的问题是什么?而不是:使用(var context = ...

c# asp.net database database-connection idisposable
1个回答
1
投票

通常,数据上下文“拥有”一个连接,以避免不断地从池中获取一个连接并对其进行初始化。处理数据上下文通常会处理该连接。

© www.soinside.com 2019 - 2024. All rights reserved.