我最终有两个问题与Entity Framework相关,但让我先简单介绍一下背景,这样你就知道我为什么要问这些信息。
在我的工作场所,我的团队计划完全重写我们的应用程序结构,以便我们遵循更现代的标准。这个重新编写包括一个全新的数据层项目。在这个项目中,大多数团队想使用Entity Framework。我也想使用它,因为我非常熟悉它,因为我在个人项目中使用过它。然而,其中一名团队成员强烈反对,声称Entity Framework使用反射并且会影响性能。他的另一个论点是EF使用生成的SQL比存储过程效率低得多。我不太熟悉EF的内部工作方式,我的搜索也没有找到什么极其有用的东西。
以下是我的问题。我尽可能地让它们具体化。如果您需要一些澄清,请问。
问题1 - 反射
- EF使用反射并影响性能是否属实?
- 如果是,EF在哪里使用反射?
- 是否有任何比较性能的资源?我可以使用它来客观地比较.NET数据访问技术,然后将其呈现给我的团队吗?
问题2 - SQL
- 这有什么影响?
- 是否可以使用存储过程来填充EF实体?
- 同样,是否有一些比较生成的查询与存储过程的资源,以及使用存储过程填充实体(如果可以)的影响是什么?
我自己做了一些搜索,但并没有找到太多关于EF底层的东西。