我有一个EntityFramework实体,它将在程序中加载数小时。这是一个复杂的数据树,具有与多个表一对多的关系。
据我所知,EF最佳实践告诉您仅在需要时保留上下文,因此我不知道最佳解决方法是什么。
到目前为止,我想做的是使用.Include()
将实体和所有相关对象加载到内存中,然后使用.AsNoTracking()
将其与上下文分离。
一旦我需要保存它(可能需要几个小时),我将创建一个新上下文并.Attach()
实体。
但是,这要求我包括每个相关的表,并导致较长的加载和保存时间。
处理寿命长的实体的最佳方法是什么?