2

我首先将 MVC4 与 EF5 数据库一起使用,并将Newtonsoft.Json对象序列化为 JSON,例如在 Web API 控制器中。

为了避免自引用循环的问题,我将属性设置为[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 回答