2013-01-06 26 views
8

मेरे पास एक ऐसी संपत्ति है जिसे मैं RavenDB में स्टोर नहीं करना चाहता हूं। यदि मैं जेसन इग्नोर विशेषता जोड़ता हूं तो रावेनडीबी ठीक से अनदेखा कर देगा लेकिन फिर वेबएपी भी होगा। मैं अभी भी WebApi डेटा को वेब क्लाइंट को क्रमबद्ध करने के लिए चाहता हूं।मैं संपत्ति को अनदेखा करने के लिए RavenDB कैसे कहूं लेकिन वेबएपीआई नहीं?

मैं संपत्ति को अनदेखा करने के लिए रावेनडीबी को कैसे बता सकता हूं लेकिन अभी भी वेबएपी इसे क्रमबद्ध करता है? WebAPI विशेषता लेने नहीं होगा -

उत्तर

14

RavenDB 2,0

using Raven.Imports.Newtonsoft.Json 

public class Foo 
{ 
    [JsonIgnore] 
    public string Bar { get; set; } 
} 

क्योंकि यह json.net का काला कौआ की भाँति प्रति का उपयोग कर रहा है में

RavenDB 1.0 में या 2,0

आप सीधे एक कस्टम json अनुबंध समाधानकर्ता का उपयोग कर अपने वस्तु की json क्रमबद्धता अनुकूलित कर सकते हैं।

तार इसे अपने दस्तावेज़ की दुकान में प्रारंभ के समय:

documentStore.Conventions.JsonContractResolver = new CustomContractResolver(true); 
documentStore.Initialize(); 

क्योंकि यह कहीं और ऊपर तार नहीं कर रहा है, यह केवल RavenDB को प्रभावित करेगा। इसे अनुकूलित करें हालांकि आप अपनी जरूरतों को पूरा करना चाहते हैं।

+0

[Raven.Imports.Newtonsoft.Json.JsonIgnore] अकेले चाल चल रही थी। अब मैं नियंत्रित कर सकता हूं कि कौन से गुण WebAPI से अलग RavenDB को क्रमबद्ध कर रहे हैं। इस उत्तर के दूसरे भाग की आवश्यकता/लाभ क्या है? – kareem

+2

रैवेन 1.0 अभी भी बाहर है। और कई लोग गुणों के साथ अपनी संस्थाओं को प्रदूषित करना पसंद नहीं करते हैं। –

+0

धन्यवाद, अनुबंध समाधानकर्ता ने मुझे वास्तव में अच्छे सॉफ्टवेयर आर्किटेक्चर को नियोजित करने के लिए बचाया;) – Jeff

संबंधित मुद्दे

 संबंधित मुद्दे