我首先使用MVC4和EF5数据库,Newtonsoft.Json
将对象序列化为JSON,例如在Web API控制器中。
为了避免自引用循环的问题,我将属性[JsonIgnore]
设置为我生成的类中的特定集合。
我的问题是,每次我更新我的模型时,我必须读取类的属性。
我怎么能避免这种情况?我想我必须编辑DBModel.tt
脚本?我该怎么办?
答案 0 :(得分: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