我有一个可以重新调整 Entity Framework 对象的网络服务。在调用方,我除了读取信息之外不执行任何操作,因此不需要这些 Entity Framework 序列化属性。返回 Entity Framework 对象时是否可以删除以下序列化文本?
<EntityKey> <EntitySetName>ClassName</EntitySetName> <EntityContainerName>MyEntities</EntityContainerName> -<EntityKeyValues> -<EntityKeyMember> <Key>ClassID</Key> <Value xsi:type="xsd:int">9903</Value> </EntityKeyMember> </EntityKeyValues> </EntityKey>
最佳答案
我已经阅读了 EF 如何要求我制作一堆 POCO 等内容,这需要我做很多工作。我决定再考虑一下,并对 Entity 对象进行了一些挖掘。看到它没有被密封后,我创建了一个继承自此类的自定义类,并使用 XmlIgnore 属性向 EntityKey 字段添加了一个“new”语句。回到我的 EF 设计器类,我将所有类更改为从 CustomEntityObject 继承,瞧!没有不必要的字段。我对此表示怀疑。但对于这个项目来说,它效果很好,并且不需要我为所有类编写 DTO。希望其他人发现它有用:
public class CustomEntityObject : EntityObject {
[DataMember]
[Browsable(false)]
[XmlIgnore]
public new EntityKey EntityKey { get; set; }
}
关于entity-framework - 防止 Entity Framework 序列化 EntityKey、EntitySetName 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5719843/