实体框架-告诉WebApi2和EF6不要将字段序列化到Json的正确方法是什么



我有一个每个类型层次结构的实体框架表,如下所示:

public class WorkItem
{
    public int WorkItemId {get;set;}
}
public class CancelingWorkItem : WorkItem
{
    public int WorkItemIdToCancel {get;set;}
    [ForeignKey("WorkItemIdToCancel")]
    public virtual WorkItem WorkItemToCancel {get;set}
}
public class SomeOtherWorkItem : WorkItem
{
    // more fields...
}

当我以Json的形式返回数据库中所有WorkItems的列表时,任何序列化的CancelingWorkItem都将包含WorkItemToCancel字段的完整定义。我可以用JsonIgnore忽略这个字段,但我想知道是否有不同/更好的方法。我的存储库项目还不依赖Json.Net,所以如果我可以告诉控制器不要序列化该字段,那可能是一个更好的解决方案。

您可以使用IgnoreDataMemberAttribute属性-它不是来自像JsonIgnore这样的外部库,我认为默认的序列化程序和Json.NET都可以识别此属性。

相关内容

  • 没有找到相关文章

最新更新