实体框架适用于大量实体吗?

时间:2017-07-23 14:27:41

标签: c# entity-framework software-design

假设您将开发一个具有复杂业务逻辑和100多个实体的大型企业应用程序,其中每个实体都有15个属性。

您是否认为实体框架在这种情况下是合适的。还是会引起太多麻烦?

是的我知道这个问题是基于意见的。但这正是我想要的,一直在与大项目合作的开发人员的意见。

2 个答案:

答案 0 :(得分:2)

我们使用EF与相当大的数据库,超过100个实体,其中许多实体具有超过15个属性。

任何ORM都会比原始SQL慢,但你必须平衡好处。如果您发现性能存在问题,则可以解决特定区域并对其进行优化。例如,如果您有一个具有大量属性的实体,并且您可以像这样查询它......

var jim = ctx.MyEntities;

...随着表格中条目数量的增加,您可能会看到性能受损。如果您修改查询以执行此操作...

var jim = ctx.MyEntities
             .Select(j => new{
               Jim1 = j.Jim1,
               // other properties as needed
             });

...只提取你真正需要的属性,你会发现它更快。

希望有所帮助。

答案 1 :(得分:0)

像任何东西一样,只要你正确使用它就没关系。

就个人而言,在将它用于OLTP时,我没有遇到任何规模问题,因为它可以大大节省开发时间和质量,但是会牺牲一些相对较小的低效率。

让我失望的是批量/批处理,报告和其他大型聚合,即使结果行可能很小。在这些情况下,非常值得走出纯EF并添加一些视图或存储过程。这些可以通过EF使用,具有典型的好处。

保持开放的心态,发挥自己的优势,保持灵活,你应该没事。