इकाई फ्रेमवर्क 4.1 कोड पहले SQLEXPRESS
localhost
पर डेटाबैक अनुमति अस्वीकार कर दिया गया है। हालांकि, अब मैं नियमित SQL 2008 server
से कनेक्ट करने के लिए तैयार हूं।ईएफ 4.1 सीएफ: डेटा 'मास्टर'
मैंने एक नया डेटाबेस "न्यूईएफडेटाबेस" बनाया है।
तब एकीकृत सुरक्षा के साथ अपने नए डेटाबेस को इंगित करने के
Web.config
मेंconnectionString
बदल मेरी "ApplicationServices
"।
लेकिन तब मैं इस त्रुटि मिलती है:
"CREATE DATABASE permission denied in database 'master'.
"
तो ...
क) अनुमतियाँ एफई 4.1 सीएफ को कहा की जरूरत एसक्यूएल सर्वर अपने काम करने के लिए करता है ?
बी) क्या मैं SQL 2008
पर ईएफ 4.1 सीएफ के लिए एक खाली डेटाबेस सेट कर सकता हूं, या क्या मुझे यह सब मेरे लिए काम करने देना है?
Database.SetInitializer<MyDbContext>(null);
:
नहीं मैंने कोशिश नहीं की थी। मैं इसे जाने दूंगा। उस स्थिति में क्या मुझे अपने स्थानीय स्क्लेक्सप्रेस से अपना डेटा और स्कीमा माइग्रेट करना चाहिए? मैंने सोचा था कि यह मेरे लक्षित स्थान में डेटाबेस का निर्माण कर सकता है। लेकिन यह ड्रॉप-निर्माण चरण के बारे में भूल गया। –
@Dan: हां, यदि आप प्रारंभकर्ता को 'null' पर सेट करते हैं तो आपको लक्ष्य उदाहरण पर डीबी माइग्रेट करना होगा। इस मामले में डीबी स्कीमा और ईएफ मॉडल से मेल खाना चाहिए, ईएफ स्कीमा को अपडेट या फिर से नहीं करेगा और स्कीमा और मॉडल मेल नहीं खाता है तो शायद अपवाद फेंक देगा। – Slauma
जिस तरह से मैं इसे संभालता हूं वह डेवलपर पीसी के नामों की एक सूची बनाना है, और यदि मैं उन पीसी में से किसी एक पर चल रहा हूं तो मैं केवल SetInitializer (डेटाबेस को फिर से बनाने के लिए) कॉल करता हूं। किसी भी अन्य मशीन के लिए, मुझे लगता है कि डेटाबेस पहले से ही तैनात किया जाएगा। –