Anu*_*aus 8 c# serialization entity-framework json.net
我已经看过如何在JSON序列化期间删除$ id但是给出的答案对我来说似乎没有用,我希望有人能弄清楚我做错了什么.
这是我的代码:
return JsonConvert.SerializeObject(target, new JsonSerializerSettings {
NullValueHandling = NullValueHandling.Include,
PreserveReferencesHandling = PreserveReferencesHandling.None,
ContractResolver = new CustomContractResolver(),
Converters = CustomConverters
});
Run Code Online (Sandbox Code Playgroud)
这个输出仍然以$ id出现,但仅限于Entity Framework对象,这是设计的吗?如果是这样,有没有办法阻止Entity Framework对象上的那些$ id?
Tyl*_*Y86 18
自定义ContractResolver设置会覆盖该PreserveReferencesHandling设置.
在你的DefaultContractResolver/ 的实现中IContractResolver,添加这个;
public override JsonContract ResolveContract(Type type) {
var contract = base.ResolveContract(type);
contract.IsReference = false;
return contract;
}
Run Code Online (Sandbox Code Playgroud)
此行为与PreserveReferencesHandling.None没有自定义的设置类似ContractResolver.
| 归档时间: |
|
| 查看次数: |
4998 次 |
| 最近记录: |