解决方法
在RavendB 2.0中
using Raven.Imports.Newtonsoft.Json public class Foo { [JsonIgnore] public string Bar { get; set; } }
因为它使用的是raven的json.net内部化副本–WebApi不会获取该属性.
在RavendB 1.0或2.0中
您可以使用自定义json合约解析程序直接自定义对象的json序列化.
public class CustomContractResolver : DefaultRavenContractResolver { public CustomContractResolver(bool shareCache) : base(shareCache) { } protected override List<MemberInfo> GetSerializableMembers(Type objectType) { var members = base.GetSerializableMembers(objectType); if (objectType == typeof(Foo)) members.RemoveAll(x => x.Name == "Baz"); return members; } }
在初始化时将其连接到文档存储:
documentStore.Conventions.JsonContractResolver = new CustomContractResolver(true); documentStore.Initialize();
因为它没有连接到任何其他地方,它只会影响RavendB.根据您的需要定制它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。