2012-11-20 12 views
11

मैं एक ASP.NET MVC परियोजना बनाने रहा हूँ ... जब मैं टाइप सक्षम-माइग्रेशन मैं निम्नलिखित eroors मिलती है:मैं त्रुटि मिलती है, जब मैं चलाने सक्षम-माइग्रेशन में पैकेज प्रबंधक कंसोल

More than one context type was found in the assembly 'eManager.Web'. 
To enable migrations for eManager.Web.Infrastructure.DepartmentDb, use Enable-Migrations -ContextTypeName eManager.Web.Infrastructure.DepartmentDb. 
To enable migrations for eManager.Web.Models.UsersContext, use Enable-Migrations -ContextTypeName eManager.Web.Models.UsersContext. 

उत्तर

35

त्रुटि संदेश बिल्कुल बताता है कि समस्या क्या है और क्या करने की आवश्यकता है - जिसमें आदेश जारी करने की आवश्यकता है। स्पष्ट रूप से आपके प्रोजेक्ट में एक से अधिक संदर्भ हैं (Web.Infrastructure.DepartmentDb और Web.Models.UsersContext) और माइग्रेशन यह नहीं जानते कि इनमें से कौन से माइग्रेशन सक्षम किए जाने चाहिए। आपको संदर्भ प्रकार को इंगित करने की आवश्यकता है।

Enable-Migrations -ContextTypeName eManager.Web.Infrastructure.DepartmentDb. 

eManager.Web.Infrastructure.DepartmentDb के लिए माइग्रेशन सक्षम करने के लिए या

Enable-Migrations -ContextTypeName eManager.Web.Models.UsersContext. 

eManager.Web.Models.UsersContext

+0

मदद के लिए आपको बहुत बहुत धन्यवाद ... मैं एमवीसी के लिए एक नई बाई हूं ... इसलिए मैं इस माइग्रेशन के साथ फंस गया था .. ट्यूटोरियल में मैं रेफरिंग करता हूं कि वे केवल सक्षम-माइग्रेटन टाइप करते हैं और चीजें काम करते हैं ... – fizmhd

+1

हाँ, ट्यूटोरियल आमतौर पर सबसे सरल मामले पर ध्यान केंद्रित करते हैं। यदि आपके पास केवल एक संदर्भ था तो सरल-माइग्रेशन सिर्फ काम करेगा। – Pawel

+0

क्या आप मुझे सुझाव दे सकते हैं ... एएसपीएनटी एमवीसी को विस्तार से सीखने के लिए कुछ किताब ... मुझे अबास्ट्रक्शन और इंटरफ़ेस आदि के बारे में अच्छा ज्ञान नहीं है ... मैं एन-स्तरीय आर्किटेक्चर में काम कर रहा हूं .. – fizmhd

1

के लिए माइग्रेशन सक्षम करने के लिए उन लोगों के लिए: प्रति त्रुटि संदेश के रूप में उपयोग जो परियोजना में एक संदर्भ के साथ रहना चाह सकता है। इस मामले में, यह विभाग डीबी संदर्भ होगा। बाहर टिप्पणी UsersContext वर्ग अपने AccountModels.cs को प्राप्त करने और हटाने /:

अपने DepartmentDb संदर्भ में नीचे दिए गए कोड को हिलाएं:

public DepartmentDb() 
 
: base("DefaultConnection") 
 
{ 
 

 
} 
 

 
public DbSet<UserProfile> UserProfiles { get; set; }

अगला। आपको बिल्ड त्रुटियां मिलेंगी - इसलिए विभाग डीबी के साथ उपयोगकर्ता कॉन्टेक्स्ट संदर्भों को प्रतिस्थापित करें।

फिर से बनाएं और इसे सफल होना चाहिए।

अब पैकेज प्रबंधक कंसोल और रन प्रधानमंत्री> पर जाएं सक्षम-माइग्रेशन

आप चाहिए "कोड पहले माइग्रेशन परियोजना eManager.Web के लिए सक्षम होना चाहिए।"

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