2012-06-16 10 views
6

मेरे पास एक ईएफ कोड पहला वेब ऐप है जो ठीक काम कर रहा है और डेटाबेस सर्वर से सही तरीके से कनेक्ट हो रहा है। मैंने ऐप के साथ जाने वाली सेवा के लिए तर्क का परीक्षण करने के लिए समाधान में एक कंसोल ऐप जोड़ा है।गलत डेटाबेस से कनेक्ट होने वाली इकाई फ्रेमवर्क कंसोल ऐप

कंसोल ऐप डेटा को सहेज नहीं रहा था, इस पर एक सिर स्क्रैचर था इसलिए मैंने इसे डेटाबेस से एक साधारण fetch पर देखा और यह पता चला कि मूल कंसोल ऐप रिकॉर्ड सहेज रहा था, लेकिन एक अलग डेटाबेस में कनेक्शन स्ट्रिंग में निर्दिष्ट क्या है।

<add name="DatabaseContext" connectionString="Data Source=xxx.xx.x.xx; Initial Catalog=OKWU_Gateway; User ID=xxxxx; Password=********; Trusted_Connection=False;" providerName="System.Data.SqlClient" /> 
    <add name="DevelopmentEntities" connectionString="metadata=res://*/EntityModel.csdl|res://*/EntityModel.ssdl|res://*/EntityModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=;Data Source=|DataDirectory|\OKWU_Gateway.mdf" providerName="System.Data.EntityClient" /> 

DatabaseContext है

सांत्वना एप्लिकेशन बहुत सरल

Database.SetInitializer<DatabaseContext>(null); 
    static void Main(string[] args) 
    { 
     using (DatabaseContext db = new DatabaseContext()) 
     { 
      var query = from u in db.Users where u.Id == 1 select u; 
      foreach (User u in query) 
      { 
       Console.WriteLine(u.Id + " " + u.FirstName + " " + u.LastName); 
      } 
      Console.ReadLine(); 
     } 
    } 

लेकिन इसके बजाय पर db से कनेक्ट करने में है:

यहाँ app.config से कनेक्शन स्ट्रिंग है दूरस्थ सर्वर यह dev मशीन पर sqlexpress से कनेक्ट है और इस डेटाबेस को मार रहा है।

UniversityGateway.Data.DatabaseContext 

मैंने डेटा स्ट्रैक्टरी को इंगित करने के लिए कनेक्शन स्ट्रिंग को बदलने की कोशिश की। एसक्यूएल कनेक्शन स्ट्रिंग के लिए और इससे कोई फर्क नहीं पड़ता। कनेक्शन स्ट्रिंग वेब.कॉन्फिग में क्या है और जैसा कि मैंने कहा है, वेब ऐप ठीक काम करता है।

मुझे जो कुछ भी याद आ रहा है या मुझे हल करने के लिए सही दिशा में इंगित करता है, उसके बारे में कोई विचार?

+0

बस जांच रहा है ... आपके पास चारों ओर लटकने वाली कोई भयानक संसाधन फ़ाइलें नहीं हैं? –

+1

क्यों दुनिया में कोई इसे कम करेगा और कोई टिप्पणी छोड़ने से परेशान नहीं होगा। – Brian

+1

आपके संदर्भ का कन्स्ट्रक्टर कैसा दिखता है? –

उत्तर

0

खुदाई के बाद ठीक है मुझे एक समाधान मिला। सुनिश्चित नहीं है कि यह सही/सर्वोत्तम है लेकिन यह काम करता है इसलिए मैं आगे बढ़ सकता हूं।

के बाद से सांत्वना एप्लिकेशन app.config में कनेक्शन स्ट्रिंग का सम्मान नहीं कर रहा था, मैं

db.Database.Connection.ConnectionString 

साथ कोड में कनेक्शन निर्दिष्ट फिर भी लगता है कि मैं कुछ यहाँ हालांकि याद कर रहा हूँ।

पता चला कि मेरी समस्या का एक अतिरिक्त हिस्सा यह है कि ईएफ कोडफर्स्ट एसक्यूएल सर्वर 2005 डेटटाइम डेटा प्रकारों के साथ अच्छी तरह से नहीं खेलता है।

+1

समस्या यह है कि समस्या आपके डीबीकॉन्टेक्स्ट क्लास के निर्माता से संबंधित है, इसलिए कृपया @ लादिस्लाव की टिप्पणी का पालन करें और इसे अपने प्रश्न में पेस्ट करें। – kingdango

+0

असल में ऐसा इसलिए है क्योंकि ef datetime डेटाटाइप एसक्यूएल 2005 डेटाटाइम डेटाटाइप के साथ समन्वयित नहीं होता है। अगर हमने किसी मौजूदा डेटाबेस से एक एमडीएक्स फ़ाइल जेनरेट की थी तो हम 2005 के साथ अच्छा खेलने की अनुमति देने के लिए प्रदातामैन टोकन सेटिंग जोड़ सकते थे, लेकिन पहले कोड का उपयोग करना जो विकल्प नहीं था। फिर से लिखने में फिक्सिंग। – Brian

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