इस त्रुटि MySQL से आ रही है, तो है दो चीजों में से एक हुआ है:
- आप प्रदाता ठीक से कॉन्फ़िगर नहीं किया है।
- आपके ईएफ प्रदाता में एक बग है।
इस त्रुटि अपने MySQL एफई प्रदाता से आ तो रही है, तो दो में से एक हुआ है:
- आप सही ढंग से प्रदाता कॉन्फ़िगर नहीं किया है।
- आपके ईएफ प्रदाता में एक सीमा है।
एसक्यूएल प्रदाता द्वारा उत्पन्न होता है। आप ProviderManifestToken attribute in EDMX के माध्यम से सर्वर-संस्करण-विशिष्ट SQL पीढ़ी को कॉन्फ़िगर कर सकते हैं। इस प्रकार आप प्रदाता को SQL सुविधाओं का उपयोग न करने के बारे में बताते हैं जो पुराने सर्वर संस्करण समर्थित नहीं हैं।
यह संभव है कि कुछ MySQL स्टोरेज इंजन SQL सुविधाओं का समर्थन करते हैं जो अन्य नहीं करते हैं। इस मामले में, प्रदाता को या तो चुनने की अनुमति देने के लिए अधिकांश इंजनों द्वारा समर्थित सुविधाओं के एक सामान्य सबसेट का उपयोग करना होगा या ProviderManifestToken
का उपयोग करना होगा।
हालांकि, यह भी संभव है कि एक छोटी गाड़ी प्रदाता बस गलत SQL लौटाता है। यदि यह मामला है तो आपको या तो एक अद्यतन मिलना चाहिए या बग को छूने वाले प्रश्नों से बचना चाहिए।
अद्यतन: @ देवर्ट के उत्तर के आधार पर, ऐसा लगता है कि यह प्रदाता की एक सीमा है, जिसे MySQL की सीमाओं के कारण बनाया गया है। ईएफ एक एडीओ.NET कैननिकल कमांड पेड़ का उत्पादन करेगा। एसक्यूएल में इसका अनुवाद करने की प्रदाता की ज़िम्मेदारी है। यदि ईएफ सीसीटी में एक क्रॉस/बाहरी नोड लागू करता है, तो ऐसा लगता है कि देवर्ट को एसक्यूएल में इसका अनुवाद करने का कोई तरीका नहीं मिला है, जिसे MySQL संभाल सकता है। तो या तो MySQL सभी ईएफ प्रश्नों का समर्थन करने के काम पर नहीं है, या कोई भी जो MySQL विशेषज्ञ है (मुझे नहीं!) को देवता को दिखाने की ज़रूरत है कि MySQL- संगत एसक्यूएल कैसे उत्पन्न करें जो क्रॉस/बाहरी आवेदन के लिए पंक्तियों को ठीक से वापस कर सकता है सीसीटी नोड्स।
स्रोत
2010-02-25 13:56:40
अपने ओरेकल या तो :( – gbjbaanb
ग्राफिक्स – thomaspaulb