2014-02-10 57 views
3

我正在將一些代碼從EF5重寫到EF6中。作爲該過程的一部分,我試圖將我的數據庫上下文邏輯分成一個類庫。這在以前工作時,主要項目的一部分,但現在運行add-migration時導致空白的向上/向下方法。EF6代碼首先從類庫中遷移導致空白向上/向下

public class SLDBContext : DbContext 
{ 
    public SLDBContext() 
     : base("name=SLApi") 
    { 
     System.Data.Entity.Database.SetInitializer(new CreateDatabaseIfNotExists<SLDBContext>()); 
    } 

    public DbSet<Language> Languages { get; set; } 
    public DbSet<Template> Templates { get; set; } 
    public DbSet<TemplateFolder> TemplateFolders { get; set; } 
    public DbSet<Element> Elements { get; set; } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     base.OnModelCreating(modelBuilder); 

     //modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>(); 
    } 
} 

運行add-migration MagicWombat在包管理器控制檯中選擇我的類庫,使我這個:

public partial class MagicWombat : DbMigration 
{ 
    public override void Up() 
    { 
    } 

    public override void Down() 
    { 
    } 
} 

我的種子的方法是空的,但是我希望它來創建我一些空表非the-減。顯然我錯過了一些東西,但是什麼?

+0

確保您在Package Manager控制檯運行前更改默認的項目下拉菜單類庫'加-migration'。 –

+0

是的,我已經做到了。 – Jon

回答

1

如果您的DbContext不在您的啓動項目中,您需要使用-StartUpProjectName開關,以便EF可以查看連接字符串的配置文件。

add-migration MagicWombat -StartUpProjectName YourProject 

,如果你選擇了您的類庫默認的PM控制檯,否則:

add-migration MagicWombat -ProjectName YouClassLibrary -StartUpProjectName YourProject 
相關問題