2

私は最初にEF5データベースでMVC4を使用しており、たとえばWebAPIコントローラーでNewtonsoft.JsonオブジェクトをJSONにシリアル化するために使用しています。

[JsonIgnore]自己参照ループの問題を回避するために、生成されたクラスの特定のコレクションに属性を設定しました。

私の問題は、モデルを更新するたびに、クラスの属性を読み取らなければならないことです。

どうすればそれを回避できますか?DBModel.ttスクリプトを編集する必要があると思いますか?私は何をしなければなりませんか?

4

1 に答える 1

2

MetadataType属性でメタデータクラスを使用できるはずです。生成されたクラスが次の場合:

public partial class MyClass{

    public string SomeProperty {get; set; }

    public string SomePropertyToIgnore {get; set; }
}

次に、そのようなメタデータクラスを(同じ名前空間に)作成する必要があります。

public class MyClass_Metadata{
    [JsonIgnore]
    public string SomePropertyToIgnore {get; set; }
}

MetadatType属性を適用して、生成されたクラスの一部を(同じ名前空間に)作成します。

[MetadataType(typeof(MyClass_Metadata))]
public partial class MyClass{
}

参照: http: //msdn.microsoft.com/en-us/library/ee707339 (v = vs.91).aspx

于 2013-02-20T11:41:54.857 に答える