6

परियोजना: आंतरिक रूप से ईएफ 4 सीटीपी 5 कोड-प्रथम दृष्टिकोण का उपयोग कर डब्ल्यूसीएफ डाटा सेवा।डब्ल्यूसीएफ डेटा सेवाओं (ओडाटा), विरासत सीमा के साथ पूछताछ?

मैंने विरासत (टीपीएच) के साथ इकाइयों को कॉन्फ़िगर किया। इस विषय पर पिछले प्रश्न देखें:

Previous question about multiple entities- same table

मानचित्रण अच्छी तरह से काम करता है, और EF4 से अधिक इकाई परीक्षण पुष्टि करता है कि प्रश्नों को सुचारू रूप से चलता है।

मेरे संस्थाओं इस तरह दिखता है:

  • ContactBase (सार)
  • ग्राहक (ContactBase से विरासत), इस इकाई अन्य संस्थाओं की ओर भी कई नेविगेशन गुण है
  • संसाधन (ContactBase से विरासत में मिली)

मैंने एक भेदभावकर्ता को कॉन्फ़िगर किया है, इसलिए ग्राहक और संसाधन दोनों एक ही तालिका में मानचित्र हैं। फिर, everythings देखने के EF4 मुद्दे पर ठीक काम करता है (इकाई सब साग का परीक्षण करती है!)

हालांकि, जब से अधिक WCF डाटा सेवाओं इस DBContext उजागर, मैं मिलता है: - संपर्क में (ग्राहकों और संसाधन सेट छिपा हुआ लगता है CustomerBases सेट, ?

Navigation Properties are not supported on derived entity types. Entity Set 'ContactBases' has a instance of type 'CodeFirstNamespace.Customer', which is an derived entity type and has navigation properties. Please remove all the navigation properties from type 'CodeFirstNamespace.Customer'. 

स्टैकट्रेस: ​​

at System.Data.Services.Serializers.SyndicationSerializer.WriteObjectProperties(IExpandedResult expanded, Object customObject, ResourceType resourceType, Uri absoluteUri, String relativeUri, SyndicationItem item, DictionaryContent content, EpmSourcePathSegment currentSourceRoot) 
at System.Data.Services.Serializers.SyndicationSerializer.WriteEntryElement(IExpandedResult expanded, Object element, ResourceType expectedType, Uri absoluteUri, String relativeUri, SyndicationItem target) 
at System.Data.Services.Serializers.SyndicationSerializer.<DeferredFeedItems>d__b.MoveNext() 
at System.ServiceModel.Syndication.Atom10FeedFormatter.WriteItems(XmlWriter writer, IEnumerable`1 items, Uri feedBaseUri) 
at System.ServiceModel.Syndication.Atom10FeedFormatter.WriteFeedTo(XmlWriter writer, SyndicationFeed feed, Boolean isSourceFeed) 
at System.ServiceModel.Syndication.Atom10FeedFormatter.WriteFeed(XmlWriter writer) 
at System.ServiceModel.Syndication.Atom10FeedFormatter.WriteTo(XmlWriter writer) 
at System.Data.Services.Serializers.SyndicationSerializer.WriteTopLevelElements(IExpandedResult expanded, IEnumerator elements, Boolean hasMoved) 
at System.Data.Services.Serializers.Serializer.WriteRequest(IEnumerator queryResults, Boolean hasMoved) 
at System.Data.Services.ResponseBodyWriter.Write(Stream stream) 

WCF डाटा servi की एक सीमा की तरह लगता है - यह डिजाइन से होता है) जब मैं पर ग्राहकों Odata से अधिक क्वेरी, मैं इस त्रुटि मिलती है सीईएस ... है ना? डब्ल्यूसीएफ डेटा सेवाओं (ओडाटा) और विरासत विनिर्देशों के बारे में वेब पर ज्यादा दस्तावेज नहीं मिल सकते हैं।

मैं इस अपवाद को कैसे पार कर सकता हूं? मुझे व्युत्पन्न इकाइयों पर इन नेविगेशन गुणों की आवश्यकता है, और विरासत एफ़ 4 सीटीपी 5 के साथ एक ही टेबल पर 2 इकाइयों के मैपिंग प्रदान करने का एकमात्र तरीका है ...

कोई विचार?

+0

ओडाटा निश्चित रूप से बेकार है। लेकिन यह भविष्य में बेहतर हो सकता है। वर्ष 2013 के साथ काम करने का बुरा अनुभव। –

उत्तर

2

वर्तमान में, डब्ल्यूसीएफ डेटा सेवाएं व्युत्पन्न प्रकारों पर नेविगेशन गुणों का समर्थन नहीं करती हैं। यह एक ज्ञात सीमा है और हम वर्तमान में हमारी अगली रिलीज के लिए इसे सक्षम करने पर काम कर रहे हैं।

वर्तमान में, आसपास का काम यह है कि आप सेट द्वारा प्रस्तुत किए गए प्रकार के सभी नेविगेशन गुण डालते हैं। आपके उदाहरण में, क्या आप संपर्क सेट के बजाय इकाई सेट प्रकार ग्राहक बन सकते हैं?

उम्मीद है कि इससे मदद मिलती है। धन्यवाद प्रतििक

+1

यह निश्चित रूप से मदद करता है और यह निश्चित रूप से बेकार है। मेरे लिए कोई ओडाटा नहीं। – CodeMonkeyKing

+0

डब्ल्यूसीएफ डेटा सेवाओं में व्युत्पन्न प्रकारों पर एक अद्यतन जोड़ा गया है। http://blogs.msdn.com/b/astoriateam/archive/2012/04/09/wcf-data-services-5-0-rtm-release.aspx – Quickhorn

+0

मैं भी एक व्युत्पन्न प्रकार वापस करना चाहता हूं जहां हम नेविगेशन में पैरेंट प्रकार की घोषणा करें। यह 2010 के बाद से एक समस्या प्रतीत होता है ... अब वर्ष 2017 है ... क्या इस समस्या को ठीक किया गया है? –

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