2012-03-28 34 views

回答

0

我們將在不久的將來實現接口IDatabaseInitializer<T>

現在,我們使用這個代碼(這我知道,是不是理想的):

Database.SetInitializer<OurdatabaseModel>(new OurdatabaseInitializer()); 
_instance = new OurdatabaseModel(); 

try 
{ 
    // force model creation 
    _instance.Database.Initialize(false); 
} 
catch (InvalidOperationException) 
{ 
    if (_instance == null) 
    { 
     throw; 
    } 

    // database exists. Let's back it up. 
    string dbPath = _instance.Database.Connection.Database.Replace("|DataDirectory|", Program.DataDirectory); 
    File.Move(dbPath, dbPath + "." + DateTime.Now.ToString("yyyy-MM-dd_hh-mm-ss") + ".sdf"); 

    // and now the CreateDatabaseIfNotExists<T> will take care of the rest 
    _instance = new OurdatabaseModel(); 
}