我们的团队正在研发一台机器,用于对装有医学样本小瓶的托盘进行物理处理。该物理过程大约需要1.5小时。托盘和相关小瓶是实体,使用Entity Framework从数据库中加载。在设备运行时,将更新实体上的值。更改可能会在几分钟或几秒钟之间发生。在某些步骤结束时,相隔10至45分钟之间,我们想要将这些实体保存回数据库并继续进行。
在1.5小时内保持Entity Framework上下文打开是否可行?我能否在此期间多次使用该上下文进行更改并保存实体?如果不行,最好的处理方式是什么?
目前有以下一些想法:
- 我们可以使用附加/分离功能,这应该允许我们在上下文之外对实体进行更改,然后创建新的上下文,附加实体以便在想要保存时进行保存,然后分离它以继续工作。 - 每次想要更改实体时,我们都可以创建一个新的上下文。但我认为我们不想每次进行更改时都保存。 - 我们可以将实体复制到业务对象中,并在那里进行更改。然后当我们想要保存时,我们会打开一个上下文,并将更改复制到实体中,然后保存。
在1.5小时内保持Entity Framework上下文打开是否可行?我能否在此期间多次使用该上下文进行更改并保存实体?如果不行,最好的处理方式是什么?
目前有以下一些想法:
- 我们可以使用附加/分离功能,这应该允许我们在上下文之外对实体进行更改,然后创建新的上下文,附加实体以便在想要保存时进行保存,然后分离它以继续工作。 - 每次想要更改实体时,我们都可以创建一个新的上下文。但我认为我们不想每次进行更改时都保存。 - 我们可以将实体复制到业务对象中,并在那里进行更改。然后当我们想要保存时,我们会打开一个上下文,并将更改复制到实体中,然后保存。