如何在不编辑生成的迁移的情况下使用CodeFirst设置属性的默认值

本文关键字:CodeFirst 设置 默认值 属性 情况下 迁移 编辑 | 更新日期: 2023-09-27 18:06:40

我想为POCO类中的一些属性设置默认值。但是,我宁愿不手动更改生成的迁移。

在OnModelCreating中是否有任何注释或命令可以为这些属性设置一些默认值?

如何在不编辑生成的迁移的情况下使用CodeFirst设置属性的默认值

使用EF6,属性值可以在FluentAPI的OnModelCreating方法中配置。假设我有一个用户类,我希望国家属性总是美国。

public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Country { get; set; }
}
public class Context : DbContext
{
    public DbSet<User> Users {get; set;}
    protected override void OnModelCreating(DbModelBuilder builder)
    {
        builder.Properties().Where(p => p.Name == "Country").Configure(x => x.ClrPropertyInfo.SetValue(currentInstanceOfUser, "USA"));
    }
}

你需要在上面的代码中传递'currentInstanceOfUser'的值。我试了很多方法,但都不成功。