1

私はMVC3アプリケーションに取り組んでいます。ADO.NET DbContext Generator を使用して POCO クラスを作成し、部分クラスを使用してプロパティの検証を追加しています。ここで、エンティティの 1 つをシリアル化しようとすると、次のエラーが表示されます。

「タイプ '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 に答える