.net core 使用NoTracking选项时在singleton中使用DbContext

.net core 使用NoTracking选项时在singleton中使用DbContext,.net-core,dbcontext,ef-core-2.0,.net Core,Dbcontext,Ef Core 2.0,我在.NETCore2.2中有一个单例服务,它根据设置的频率轮询并执行CRUD操作。每次它需要执行一个操作时,它都会使用作用域工厂注入一个DbContext,以获取DbContext的一个实例,我认为这是必要的,以确保上下文不会因跟踪所有CRUD操作而逐渐增大 但是,如果默认跟踪行为设置为NoTracking,那么上下文的大小仍然是一个有效的问题吗?如果一个上下文被设置为不跟踪实体,那么创建一次上下文并将其分配给一个类属性就可以了吗?该类属性可以为每个CRUD重用,而不用担心它在一个单实例中随着

我在.NETCore2.2中有一个单例服务,它根据设置的频率轮询并执行CRUD操作。每次它需要执行一个操作时,它都会使用作用域工厂注入一个
DbContext
,以获取
DbContext
的一个实例,我认为这是必要的,以确保上下文不会因跟踪所有CRUD操作而逐渐增大


但是,如果默认跟踪行为设置为
NoTracking
,那么上下文的大小仍然是一个有效的问题吗?如果一个上下文被设置为不跟踪实体,那么创建一次上下文并将其分配给一个类属性就可以了吗?该类属性可以为每个CRUD重用,而不用担心它在一个单实例中随着时间的推移而增长?

否,但是多线程可能会成为一个问题。哦,是的……好的一点