【问题标题】:What would be the consequences if I disable the ProxyCreation globally in Entity Framework?如果我在实体框架中全局禁用 ProxyCreation 会有什么后果?
【发布时间】:2019-09-10 04:40:29
【问题描述】:

Entity Framework 对其内部的一些东西使用代理类,如this question 中所见,我们必须禁用它,因为它会导致对象的序列化问题。

我的问题是,如果我在项目中全局禁用 ProxyCreation 会有什么后果(以避免序列化问题) ...???

【问题讨论】:

    标签: c# entity-framework wcf


    【解决方案1】:

    它们主要围绕启用延迟加载,但可以为持久更改提供一些性能改进,但老实说,我会说这是高度情景化来呈现任何引人注目的东西。

    我会谨慎对待序列化实体的需要。例如,如果要从控制器/API 返回实体,我建议定义反映消费者为此目的所需数据的 POCO 视图模型或 DTO,而不是序列化实体。造成这种情况的关键原因是,序列化实体可能会暴露比消费者需要的更多数据信息,这也意味着通过网络发送的数据比需要的更多。它还可以代表数据的误导性表示,即未急切加载的集合/引用将是#null,那么这是否意味着它们没有数据,或者只是没有加载?

    Autofac 支持 .ProjectTo<T>,它集成到 EF 的 IQueryable 操作中,以简化与使用 .Select 的映射到视图模型。

    【讨论】:

      猜你喜欢
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      • 2017-07-06
      • 1970-01-01
      相关资源
      最近更新 更多