1

我一直在嘗試生成遷移,但由於某種原因,生成的遷移是空的,除了函數的基本定義是向上和向下但內部是空的。在代碼中生成空遷移ASP.NET MVC

Model類

public class StoryDB 
{ 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public Guid id { get; set; } 
    [Required] 
    public string StoryContent { get; set; } 
    private int heartsCount { get; set; } 
    private int commentsCount { get; set; } 
    private int shareCount { get; set; } 
    public DateTime dateCreated { get; set; } 
    public DateTime dateModified { get; set; } 
} 

數據庫上下文類

公共類StoreDB:的DbContext { 公共StoreDB():基地( 「DefaultConnection」) {

} 
    public virtual DbSet <StoryDB> Stories { get; set; } 

} 

注意我正在使用與Identity Classes相同的連接DefaultConnection當我生成完美生成的初始種子類(即像角色和用戶的所有用戶表) 但是當我嘗試生成種子類後的第一次遷移,則沒有出現在課堂上

+0

檢查解決方案資源管理器上的遷移文件夾。如果沒有任何更改,您將獲得空的遷移。也就是說,如果您的種子遷移已經包含您所做的所有更改。種子遷移後是否更新過數據庫? – Sami

+0

沒有隊友是不是真的,我已經更新了數據庫,我一直在關注[代碼優先](https://msdn.microsoft.com/en-in/data/jj591621.aspx),現在在這個問題例如他還添加了**條目。現在我相當肯定你不需要添加一個條目來創建遷移,對吧? –

+0

不,您不需要輸入數據庫,但您確實需要調用UpdateDatabase,以便遷移到數據庫。自從你的種子遷徙以來你做過了嗎? – Sami

回答

0

你要告訴的DbContext要映射到數據庫哪些實體。在你的情況StoryDB:

public class StoreDB : DbContext 
    { 
     public StoreDB() : base("DefaultConnection") 
     { 

     } 
     public virtual DbSet<StoryDB> Stories { get; set; } 

    } 

請注意,DbSet有一個通用參數,它告訴EF使用的實際類型。

+0

對不起,由於格式錯誤,它沒有顯示,但我指定類映射到 –

+0

然後我的答案是無關緊要的。這是您的第一次遷移嗎?也許EF沒有看到變化?刪除數據庫,刪除先前的遷移並嘗試再次添加它。 –

+0

這是您第一次遷移嗎?實際上我沒有做過種子移植。也許EF沒有看到變化?我想是的,刪除數據庫?嗯沒有嘗試會做和迴應 –