假设您将开发一个具有复杂业务逻辑和100多个实体的大型企业应用程序,其中每个实体都有15个属性。
您是否认为实体框架在这种情况下是合适的。还是会引起太多麻烦?
是的我知道这个问题是基于意见的。但这正是我想要的,一直在与大项目合作的开发人员的意见。
答案 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使用,具有典型的好处。
保持开放的心态,发挥自己的优势,保持灵活,你应该没事。