.net EF 4.1代码优先-使用[必需]属性更新模型
我的模型以前没有任何数据符号,但我最近改变了这一点,对一些属性应用了[Required]。发生这种情况时,我的迁移代码开始抛出异常,如: 无法应用挂起的更改,因为正在进行自动迁移 残废要启用自动迁移,请确保 DbMigrationsConfiguration.AutomaticMiggrationsEnabled设置为true 我假设必须执行一些明确的迁移操作。请澄清.net EF 4.1代码优先-使用[必需]属性更新模型,.net,entity-framework,ef-code-first,.net,Entity Framework,Ef Code First,我的模型以前没有任何数据符号,但我最近改变了这一点,对一些属性应用了[Required]。发生这种情况时,我的迁移代码开始抛出异常,如: 无法应用挂起的更改,因为正在进行自动迁移 残废要启用自动迁移,请确保 DbMigrationsConfiguration.AutomaticMiggrationsEnabled设置为true 我假设必须执行一些明确的迁移操作。请澄清 编辑:AutomaticMigrationsEnabled=true对我来说不是选项,我对如何使用一些迁移脚本使之成为可能很感兴
编辑:AutomaticMigrationsEnabled=true对我来说不是选项,我对如何使用一些迁移脚本使之成为可能很感兴趣。添加一个扩展dbmigorationsconfiguration的配置类,并将AutomaticMigrationsEnabled设置为true,示例类如下所示
namespace yournamespace
{
using System;
using System.Data.Entity;
using System.Data.Entity.Migrations;
using System.Linq;
internal sealed class Configuration : DbMigrationsConfiguration<YourDbContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
}
}
}
我想这会解决你的问题我不确定我的观点是否完全一致,但我想这就是你要问的。我已将自动迁移设置为false:
public Configuration()
{
AutomaticMigrationsEnabled = false;
}
我有一个如下设置的Post类:
public class Post
{
public int Id { get; set; }
public string Title { get; set; }
[Required]
public DateTime DateCreated { get; set; }
public string Content { get; set; }
public string Tags { get; set; }
public ICollection<Comment> Comments { get; set; }
}
在这里,我只需从PM控制台运行Update Database,然后发送更改。您可以通过package manager控制台通过执行以下脚本来创建迁移脚本:
PM> Enable-Migrations
接
PM> Add-Migration Initial
接
PM> Update-Database
最初在此处找到:如何在没有AutomaticMiggerationsEnabled=true选项的情况下执行相同操作?
PM> Enable-Migrations
PM> Add-Migration Initial
PM> Update-Database