0
我有一个字段,它是一对多关系中多方的外键(例如Order
- >LineItem
)。我希望实体框架将该字段标记为非null,并添加“关于删除,级联”关系,因此我使用[Required]
属性对其进行了修饰。但是,我不想让Newtonsoft.JSON对该字段进行序列化或反序列化,因此我使用[JsonIgnore]
属性对其进行了修饰。但是,看起来[Required]
属性胜过[JsonIgnore]
,因为我得到一个错误,指出该字段是必需的。有什么办法可以使这项工作?Newtonsoft.JSON忽略[必填]属性
public class LineItem
{
[JsonIgnore]
[Required]
public int OrderId { get; set; }
}
显示在您获得异常,请 – Steve
什么是你所得到的确切的错误代码?据我所知,Json.Net根本不查找“[Required]”属性。它有自己的机制来制作所需的领域,例如'[JsonProperty(Required = Required.Always)]'。 –
我怀疑JSON.NET与你得到的错误有什么关系。很可能,对象正在被反序列化,但是您使用的框架(Web API?MVC?)会阻止请求,因为它认为它所采用的参数是无效的。如果您需要'OrderId'来* *不是必需的,那么请不要使用'LineItem'类。根据您的具体需求,您可以创建一个单独的模型,其中不需要OrderId或完全不存在。 – StriplingWarrior