gpt4 book ai didi

entity-framework - Entity Framework 和 XmlIgnoreAttribute

转载 作者:行者123 更新时间:2023-12-03 07:25:47 24 4
gpt4 key购买 nike

假设您的实体模型中有一对一的关系。代码生成器将使用以下属性来装饰它:

[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
public RelatedObject Relationship { get {...} set {...} }

我想要序列化我的父对象及其所有已通过 XML Web 服务加载数据的属性。显然,由于这些属性,这些相关属性不会被序列化。

因此,出于我的目的,我只想删除这些“不要序列化我”属性。我可以在设计器代码中进行查找和替换,但是我在设计器中所做的任何修改都会将这些属性放回原处。

在我的查询中,我进行 .Include() 处理并显式仅加载序列化所需的子对象。所以我会确保我的查询中没有循环。有些子属性不是必需的,因此我不会 Include() 它们,因此它们不会被序列化。

否则我该如何实现我想要做的事情?从我的应用程序中为每个子对象进行单独的调用?假设我要返回数百个父对象;我还必须调用数百个单独的电话才能联系到每个 child 。

如何永久摆脱这些属性?

VS 2008/EF 3.5。

最佳答案

只是不要这样做。就这么简单。

您在帖子中声明您想要序列化对象的父级,对吗?

现在让我们看看当你这样做时会发生什么......

  1. 序列化器开始转换您的对象及其属性
  2. 当它找到对象的父级时,它就会开始序列化它
  3. 序列化父对象时,如果找到正在序列化的子对象,则返回到 1。

如果没有一些鼓励,它永远不会成功。

所以这些属性的存在是有充分理由的。

关于entity-framework - Entity Framework 和 XmlIgnoreAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2444733/

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