迁移以忽略特定表

时间:2015-03-23 03:12:57

标签: asp.net asp.net-mvc migration entity-framework-6

嗨,我需要帮助,因为迁移和一般逻辑让我发疯。 我使用此链接“MEF with MVC 4 or 5 - Pluggable Architecture (2014)”中的答案制作了可扩展的Web应用程序。 当然,因为每个Web应用程序都必须创建模型才能工作。 当我尝试在迁移中运行update-database而不是忽略模块中的每个模型idint时,它只是尝试重新创建,当然它会抛出错误。如果它找到一个存在的表并且没有更改为忽略它以便显示没有错误消息,只是为了转到下一个模型,那么ican如何做到这一点。

mdoels是:

>  [Table("ProjectRleases")]
    public class FileReleases
    {
        [Required]
        public int Id { get; set; }
        public string Tittle { get; set; }
         [Required]
        public string Version { get; set; }
        public DateTime Published { get; set; }
        [DataType(DataType.Html)]
        public string content { get; set; }
        [DataType(DataType.Upload)]
        public virtual List<ProjectFiles> Files { get; set; }
        [Required]
        public virtual Project Project { get; set; }
        [Required]
        public virtual ApplicationUser UploadedBy { get; set; }
      //
        [Required]
        public virtual ChangeLog ChangeLog { get; set; }
    }



[Table(" Projects")]
    public class Project
    {
        [Required]
        public int Id { get; set; }
        //   public int revision { get; set; }
        [Required]
        [DataType(DataType.Text)]
        public string Name { get; set; }
        [DataType(DataType.MultilineText)]
        public string Description { get; set; }
        [Required]
        public virtual ApplicationUser Admininstrator { get; set; }
        public virtual List<ApplicationUser> Members { get; set; }
        public virtual List<ProjectNews> News { get; set; }
        public virtual List<FileReleases> Releases { get; set; }
        public virtual List<ChangeLog> ChangeLogs { get; set; }


    }
  [Table("ProjectNews")]
    public class ProjectNews:News
    {
        [Required]
        public virtual Project Project{ get; set; }
         [Required]
        public int ProjectId { get; set; }
    }

2 个答案:

答案 0 :(得分:0)

您需要进行初始“基线”迁移(添加迁移“基线”)。这将使用现有表的Up()和Down()方法。您可以删除冗余代码,然后执行update-database。现在,您可以先以代码方式修改模型,下一次迁移只会获取这些更改。见http://www.ralphlavelle.net/2012/02/using-entity-framework-code-first-with_26.html

答案 1 :(得分:0)

我有两个项目,当然它们都有迁移配置,正在工作的是一个类库项目一个......你所谈论的是关于那个有效的还是另一个?

此外,我认为我尝试了那个,而上下方法有0个代码