加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 实体框架是否使用反射和损害性能?

发布时间:2020-12-15 18:24:10 所属栏目:百科 来源:网络整理
导读:我最终有两个领域,每个领域都有一些关于实体框架的问题,但是让我给出一些背景知识,以便你知道我要求提供这些信息的背景. 在我的工作地点,我的团队正计划完全重写我们的应用程序结构,以便我们能够遵循更现代的标准.这种重写包括一个全新的数据层项目.在这个项
我最终有两个领域,每个领域都有一些关于实体框架的问题,但是让我给出一些背景知识,以便你知道我要求提供这些信息的背景.

在我的工作地点,我的团队正计划完全重写我们的应用程序结构,以便我们能够遵循更现代的标准.这种重写包括一个全新的数据层项目.在这个项目中,大多数团队都想使用Entity Framework.我也想使用它,因为我在个人项目中使用它非常熟悉它.但是,一个团队成员强烈反对这一点,并指出实体框架使用反射并杀死性能.他的另一个论点是EF使用生成的SQL,其效率远远低于存储过程.我不太熟悉EF的内部工作,我的搜索没有发现任何非常有用的东西.

这是我的问题.我试图让它们尽可能具体.如果您需要澄清,请询问.

问题1问题 – 反思

>对于使用反射和伤害性能的EF,这是真的吗?
> EF在哪里使用反射?
>有没有比较性能的资源?我可以用什么来客观地比较.NET中的数据访问技术,然后将它呈现给我的团队?

问题2问题 – SQL

>这有什么影响?
>是否可以使用存储过程来填充EF实体?
>还有一些资源可以将生成的查询与存储过程进行比较,以及使用存储过程填充实体(如果可以)的含义是什么?

我自己做了一些搜索,但没有提出太多关于引擎盖下的EF.任何帮助深表感谢.

编辑

这些都是一些非常有用的答案.谢谢.我将暂时搁置这个问题一段时间,以便可以提供一些文章和其他外部资源的硬性参考.也许这个问题将有助于未来的人在我的困境中.

解决方法

是的,它确实像许多其他ORM(NHibernate)和有用的框架(DI工具).例如,没有Reflection,WPF无法工作.

虽然使用Reflection的性能影响在.NET 1.0以来的最近10年中没有发生太大变化(尽管已经有了改进),但随着硬件速度的提高和可读性的普遍趋势,它现在变得越来越不受关注.

请记住,主要的性能影响是在反映aka绑定时将类型元数据读入xxxInfo(例如MethodInfo),这发生在应用程序启动时.

调用反射方法肯定是慢的,但不是一个问题.

UPDATE

我用Reflector来查看EF的源代码,我可以确认它大量使用Reflection.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读