忽略特定表的迁移
migrations to ignore specific tables
嗨,我需要一些帮助,因为迁移和一般的逻辑让我发疯..
我使用 link "MEF with MVC 4 or 5 - Pluggable Architecture (2014)" 中的答案制作了一个可扩展的 Web 应用程序。
当然,每个 Web 应用程序都必须创建模型才能工作。
当我尝试 运行 迁移中的更新数据库而不是忽略模块中创建的每个模型 idint 时,它只是尝试重新创建,当然它会抛出错误。如果它找到一个 table 存在并且没有更改为忽略它以便不显示错误消息,只是为了转到下一个模型,我如何做到这一点。
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; }
}
您需要进行初始 'Baseline' 迁移(添加迁移 'Baseline')。这将对您现有的表具有 Up() 和 Down() 方法。您可以删除冗余代码,然后执行更新数据库。现在您可以以代码优先的方式修改您的模型,而下一次迁移只会获取这些更改。参见 http://www.ralphlavelle.net/2012/02/using-entity-framework-code-first-with_26.html
我有两个项目,当然它们都有迁移配置,正在运行的是 class 库项目,其中一个...您所说的是关于运行的那个或另一个?
我想我也试过那个方法,up 和 down 方法上有 0 个代码
嗨,我需要一些帮助,因为迁移和一般的逻辑让我发疯.. 我使用 link "MEF with MVC 4 or 5 - Pluggable Architecture (2014)" 中的答案制作了一个可扩展的 Web 应用程序。 当然,每个 Web 应用程序都必须创建模型才能工作。 当我尝试 运行 迁移中的更新数据库而不是忽略模块中创建的每个模型 idint 时,它只是尝试重新创建,当然它会抛出错误。如果它找到一个 table 存在并且没有更改为忽略它以便不显示错误消息,只是为了转到下一个模型,我如何做到这一点。
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; }
}
您需要进行初始 'Baseline' 迁移(添加迁移 'Baseline')。这将对您现有的表具有 Up() 和 Down() 方法。您可以删除冗余代码,然后执行更新数据库。现在您可以以代码优先的方式修改您的模型,而下一次迁移只会获取这些更改。参见 http://www.ralphlavelle.net/2012/02/using-entity-framework-code-first-with_26.html
我有两个项目,当然它们都有迁移配置,正在运行的是 class 库项目,其中一个...您所说的是关于运行的那个或另一个?
我想我也试过那个方法,up 和 down 方法上有 0 个代码