gpt4 book ai didi

asp.net-mvc-3 - 将 POCO 对象转换为 EntityFramework 中的代理对象

转载 作者:行者123 更新时间:2023-12-05 01:35:46 29 4
gpt4 key购买 nike

我有一个 MVC3 项目,但遇到了问题。我有一个 Create Controller ,它将我的 POCO 对象之一作为参数。我将此对象添加到数据库中,如下所示:

  entity = dbSet.Add(entity);

此方法返回后,我想使用对象的延迟加载功能。不幸的是,该对象不是 EntityFramework 生成的代理对象......有没有办法以某种方式解决这个问题?

谢谢你,
弗里兹

最佳答案

当您将实体传递给 Add 时,该实体必须已被代理方法。 Add方法不会返回该类的另一个实例,并且您不能将现有实例的类型更改为代理类型。

您的选择是:

  • 不使用实体作为 Controller 中的输入 - 使用一些 View 模型并填充由 dbSet.Create 创建的新实体- 这将创建空的代理分离实体。
  • 而不是添加 Controller 中接收到的实体,而是通过 dbSet.Create 创建一个新实体并将数据从收到的一个复制到创建的一个
  • 不要使用默认模型绑定(bind)器。创建自定义模型绑定(bind)器(即负责从 HTTP 请求中提取数据并填充传递给 Controller ​​的参数的代码),它将使用 dbSet.Create而不是默认的实体构造函数。
  • 关于asp.net-mvc-3 - 将 POCO 对象转换为 EntityFramework 中的代理对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8174200/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com