2013-10-29 13 views
8

साथ MaxExpansionDepth मैं हाल ही में EF6, हवा 1.4.5, system.web.http.odata 5.0.0.0 के लिए नवीनतम करने के लिए अपने nuget संकुल के सभी अद्यतन किया है, और अन्य सभी अच्छा बिट्स उपलब्ध।नवीनतम WebAPI और हवा

A first chance exception of type 'Microsoft.Data.OData.ODataException' occurred in System.Web.Http.OData.dll 

Additional information: The request includes a $expand path which is too deep. The maximum depth allowed is 2. To increase the limit, set the 'MaxExpansionDepth' property on QueryableAttribute or ODataValidationSettings. 

मैं सुझाव दिया सुधारों में देखा:

अब, इस प्रकार एक क्वेरी कि x.y.z की तरह एक विस्तार होता है के साथ मैं कोई त्रुटि मिलती है। मैं हवा 'endpoint' पूछे जाने पर एक Queryable विशेषता जोड़ेंगे, तो वह अन्य समस्याओं के सभी प्रकार पैदा करने के लिए प्रकट होता है। मेरा अनुमान है कि यह हवा के अपेक्षित व्यवहार में हस्तक्षेप करता है और परिणामों को अलग-अलग स्वरूपित करता है।

मैं तो HttpConfiguration EnableQuerySupport विस्तार विधि का उपयोग कर, के माध्यम से GlobalConfiguration.Configuration ... में देखा, लेकिन वह (Supporting OData Query Options देखें) कोई असर नहीं दिखाई देता है

किसी को भी किसी भी विचार कैसे मैं डिफ़ॉल्ट को बदल सकते हैं है वेबपी व्यवहार?

धन्यवाद।

उत्तर

20

आप अपने हवा नियंत्रक इस तरह IQueryable पद्धति के लिए एक BreezeQueryable विशेषता जोड़ने की जरूरत है ...

[BreezeQueryable(MaxExpansionDepth = 3)] 
    public IQueryable<Customer> Customers() 
    { 
     ... 
    } 
+0

बिल्कुल सही! धन्यवाद। आश्चर्य है कि यह अभी शिकायत क्यों शुरू कर दिया? नवीनतम वेबपी रिलीज में बदलाव होना चाहिए। http: – Adam

+2

तुम भी एक नियंत्रक स्तर पर लागू कर सकते हैं //stackoverflow.com/questions/21635376/how-to-apply-maxexpansiondepth-globally-or-to-an-entire-controller-in-breeze – lnu

+0

हमारे लिए, हम BreezeNHQueryable –

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