2017-10-05 36 views
0

我是新來的實體框架,visual studio和.net。我爲db表創建了模型(使用代碼的第一個約定)。我已經運行遷移並更新了表格它工作正常我插入並獲取表格中的實體,但有時我的表格和表格數據會消失。 我必須運行update-database命令再次生成表。 什麼可能是消除數據庫表的原因。有遷移腳本出現在我的代碼,這裏是我LMSSeedData類db表在代碼第一個實體框架中自動消失

public class LMSSeedData : DropCreateDatabaseAlways<LMSDBContext> 
{ 
    protected override void Seed(LMSDBContext context) 
    { 

     base.Seed(context); 
    } 
} 

這裏上下文類

public class LMSDBContext : IdentityDbContext<ApplicationUser, CustomRole, int, CustomUserLogin, CustomUserRole, CustomUserClaim> 
{ 
    public LMSDBContext() 
     : base("LMSDBContext") 
    { 



     Database.SetInitializer(new DropCreateDatabaseAlways<LMSDBContext>()); 

    Database.SetInitializer<LMSDBContext>(new MigrateDatabaseToLatestVersion<LMSDBContext, Migrations.Configuration("LMSDBContext")); 

     this.Configuration.LazyLoadingEnabled = true; 
    } 
    } 

這裏是我的packages.config文件

<packages> 
<package id="Edi.Web.MvcExtensions" version="5.2.3.1" 
targetFramework="net461" /> 
<package id="EntityFramework" version="6.2.0-beta1" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.Identity.EntityFramework" version="2.2.1" targetFramework="net45" /> 
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net461" /> 
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net461" /> 
    <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net461" /> 
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net461" /> 
</packages> 

回答

0

你能告訴你的DbContext類和映射類?我們只能猜測沒有這些。

你有任何數據庫播種機這樣的:

public class DbInitializer : DropCreateDatabaseAlways<YourContextName> 
{ 
    protected override void Seed(YourContextName context) 
    { 
     // seed database here 
     ...... 
    } 
} 

這初始化將在每次運行時刪除並重新創建數據庫和表。

您可以在此處詳細瞭解數據庫初始化策略:http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx

如果你不想重新創建數據庫和表,嘗試使用DropCreateDatabaseIfModelChanges代替。

同樣,你沒有發佈代碼,所以我不知道你的類和設置是什麼樣子。

+0

是我有這兩個類 – Asad

+0

我不認爲*數據庫*消失,但描述是模糊給出任何正確的答案。 –

+0

我所做的兩個表隨着隨機行爲消失,我必須一次又一次地運行更新數據庫。你能幫我解決嗎? @GertArnold – Asad

相關問題