मैंने इसे कोड फ़र्स्ट और डेटाबेस फर्स्ट EF के बीच के कुछ इश्यू तक सीमित कर दिया है, लेकिन मुझे यकीन नहीं है कि इसे कैसे ठीक किया जाए। मैं जितना हो सके उतना स्पष्ट होने की कोशिश करूंगा, लेकिन मैं ईमानदारी से कुछ समझ रहा हूं। यह एंटिटी फ्रेमवर्क 4.4 है
मुझे एक प्रोजेक्ट विरासत में मिला है जिसमें एंटिटी फ्रेमवर्क का उपयोग किया गया था, लेकिन कई वास्तविक फ़ाइलों को वापस जाने के लिए कोई वास्तविक रास्ता नहीं मिला। मैंने EF (डेटाबेस पहले) को फिर से जोड़ा और एक T4 सेटअप को दोहराया जो परियोजना के आसपास बनाया गया था। यह सभी डेटाबेस मॉडल और एक DBContext कोड फ़ाइल के कोड संस्करण उत्पन्न करता है।
यदि मेरा कनेक्शन स्ट्रिंग "सामान्य" .NET कनेक्शन स्ट्रिंग जैसा दिखता है, तो मुझे एक अमान्य कॉलम के बारे में एक त्रुटि मिलती है नाम "ProcessState_ID" मौजूद नहीं है। ProcessState_ID कोड बेस में बिल्कुल भी नहीं है, यह EDMX फाइल या कुछ भी नहीं है। यह क्वेरी में कुछ स्वचालित EF रूपांतरण प्रतीत होता है।
जब मैं कनेक्शन स्ट्रिंग का मिलान इकाई फ्रेमवर्क से करता हूँ तो यह ठीक काम करता है।
अब एंटिटी फ्रेमवर्क के साथ पिछले कोड से मिलान करने की कोशिश में मैं "सामान्य" .NET कनेक्शन स्ट्रिंग रखना चाहूंगा।
इसलिए मेरे यहाँ दो प्रश्न हैं: 1. सामान्य कनेक्शन स्ट्रिंग से EF कनेक्शन स्ट्रिंग में कोड में जाने का एक अच्छा तरीका क्या है? 2. क्या यहां एक और फिक्स है जो मैं अमान्य कॉलम नाम त्रुटि को रोकने के लिए नहीं देख रहा हूं?
public virtual Person Person { get; }