1

我正在开发一个 MVC3 应用程序。我通过 ADO.NET DbContext Generator 创建了我的 POCO 类,并且我使用部分类来添加属性验证。现在,当我尝试序列化我的一个实体时,我收到此错误:

“无法序列化成员....类型为'System.Collections.Generic.ICollection`1 [.....”

我用谷歌搜索了这个错误,发现可以将标签添加 [XmlIgnore]到某些属性。但关键是我不能把这个标签放在属性上,因为它们每次都是由生成器创建的。那么我怎样才能以更简单的方式做到这一点呢?

4

1 回答 1

1

关键是MetadataTypeAttribute. 您可以将其添加到实现附加属性和验证逻辑的部分类中。然后创建一个具有与生成的类同名的属性的元数据类,并应用您需要的属性。

[MetadataType(typeof(MyPOCOMetaData))]
public partial class MyPOCO
{
    // your partial validation code and properties
}

public class MyPOCOMetaData
{
    [XmlIgnore]
    public string GenerateProperyName { get; set; }
}
于 2011-07-15T09:30:22.800 回答