0

对于使用实体框架(EF)来保存数据,我有一个令人深思的问题。我的(预期的)应用程序不是典型的LOB场景,其中标准的CRUD操作是在单个记录上完成的。实体框架在科学(数值)处理程序中的应用

相反,我想使用存储在我的实体中的数据,通过组合几个实体上的数据来创建一些矩阵,并执行一些密集的数学运算。在整个密集过程中,实体的属性将不断被访问和更新。

我担心的是,访问/更新EF实体上的属性会严重降低整个操作的速度,这是由于所有的Lazy Loading,NotifyPropertyChanged和PropertyChanged,PropertyChanging函数调用以及对SaveChanges的调用函数在EF上下文对象...相对于标准C#对象。

有关如何缓解速度问题的任何想法,代价是EF提供的一些细微之处?

问候, LiamV

回答

1

不要过早地优化。测试一下,看看。延迟加载可以关闭,更改跟踪不是一个巨大的开销。是的,如果需要的话,您可以使用POCO,但根据想象中的性能问题做出这样的决定将是一个巨大的错误。

这就是说,我认为从依赖关系管理的角度来看,不要让业务逻辑依赖于持久存储是一个很好的决定。不过,您不需要使用POCO实体来做到这一点;您可以将project转换为具有任何类型实体的业务类型。

相关问题