5 nhibernate json.net nhibernate-mapping-by-code
我可以使用以下代码序列化代理对象:
public class NHibernateContractResolver : DefaultContractResolver
{
protected override JsonContract CreateContract(Type objectType)
{
if (typeof(NHibernate.Proxy.INHibernateProxy).IsAssignableFrom(objectType))
return base.CreateContract(objectType.BaseType);
return base.CreateContract(objectType);
}
}
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能在序列化过程中JSON.NET
忽略对象呢?NHibernate Proxy
我面临的问题是,父对象正在获取 1000 个子对象,因为我只想为父对象发送 JSON,所以我想忽略代理对象并仅获取急切加载的关系。
如果我对上面的代码进行注释,则会收到 JSON.NET 无法序列化代理对象的错误。
请帮忙!
小智 4
像这样编写一个虚拟类。
public class NhProxyJsonConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
writer.WriteNull();
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
throw new NotImplementedException();
}
public override bool CanConvert(Type objectType)
{
return typeof(INHibernateProxy).IsAssignableFrom(objectType);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1828 次 |
最近记录: |