2012-07-02 10 views
8

मैं अपने DbContext और प्रवास निम्नलिखित कॉन्फ़िग फ़ाइल के साथ सक्षम के साथ एक वर्ग पुस्तकालय परियोजना है:ईएफ कोड का उपयोग कर डेटाबेस माइग्रेशन को रीसेट कैसे करें?

<configuration> 
    <configSections> 
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    </configSections> 
    <connectionStrings> 
    <add name="DataContext" connectionString="Data Source=Data.sdf" providerName="System.Data.SqlServerCe.4.0" /> 
    </connectionStrings> 
    <entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"> 
     <parameters> 
     <parameter value="System.Data.SqlServerCe.4.0" /> 
     </parameters> 
    </defaultConnectionFactory> 
    </entityFramework> 
</configuration> 

कुछ समय से पहले मैं इस परियोजना के लिए माइग्रेशन के साथ खेला और Get-माइग्रेशन कमान हमेशा मेरे लिए निम्न रिटर्न:

PM> Get-Migrations -StartupProjectName "Data" 
Retrieving migrations that have been applied to the target database. 
201207012104355_Initial 
201207012031234_Initial 
201207012024250_Initial 

समस्या यह है कि यदि मैं Data.sdf को हटाता हूं या सभी प्रोजेक्ट हटा देता हूं और नया बनाता हूं तो भी आदेश हमेशा इन आइटम्स को लौटाता है। एकमात्र तरीका मैं नया डेटाबेस बना सकता हूं उदाहरण के लिए Data.sdf से डेटा 1.sdf से कनेक्शन स्ट्रिंग में डेटाबेस फ़ाइल नाम बदल रहा है। तो मैं डेटाबेस नाम बदलने के बिना माइग्रेशन इतिहास कैसे रीसेट कर सकता हूं?

+3

क्या आप वाकई एक सही Data.sdf फ़ाइल नष्ट कर दिया है कि कर रहे हैं ? –

+0

लगता है कि मुझे Data.sdf को हटाने की आवश्यकता है: सी: \ प्रोग्राम फ़ाइलें (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 10.0 \ Common7 \ IDE \ Data.sdf बहुत अप्रत्याशित। –

+0

माइग्रेशन आपके डेटाबेस में __ माइग्रेशन हिस्ट्री नामक एक टेबल बनाते हैं, जहां माइग्रेशन संग्रहीत होते हैं। क्या आपने इसे चेक किया है? –

उत्तर

5

पता नहीं है कि यह आधिकारिक विधि है या नहीं। लेकिन यहां मैंने यह कैसे किया।

  1. हटाए प्रवास फ़ाइल
  2. हटाए गए मिलान पंक्ति __MigrationHistory

    से __MigrationHistory से हटाएँ कहां MigrationId = '201210271944168_AddLogTable'

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