我有一个小项目,大约有20个表,其中行条目的内容大小最小,但有很多表之间的关系。
我首先使用代码,所有的导航属性都被设置为虚拟的。
今天我注意到,当我使用Add方法向DbSet添加entity时,entity大约有6-7个外键,仅向DbContext添加大约2000个entity(不做SaveChanges)就需要大约30秒,CPU停留在100%。
当实体有太多的虚拟导航属性时,是否存在已知的性能影响?
发布于 2013-05-17 01:37:29
很可能EF只是在跟踪更改,因为您的实体不是在跟踪实体,ef会花费时间来搜索依赖实体。
我的第一个尝试是尝试使您的实体“更改跟踪实体”,您可以通过将所有属性设置为虚拟属性来实现,而不仅仅是导航属性。
https://stackoverflow.com/questions/16593871
复制相似问题