2016-09-10 2 views
0

POCOクラスのいくつかのプロパティのデフォルト値を設定したいと思います。しかし、私は手動で生成された移行を手動で変更しないでください。生成された移行を編集せずにCodeFirstを使用してプロパティのデフォルト値を設定する方法はありますか?

これらのプロパティのデフォルト値を設定できるOnModelCreatingに注釈やコマンドがありますか?

+0

Presentation Layer [タグ:asp.net-mvc]フレームワークをデータアクセス[タグ:エンティティフレームワーク]と混同しないでください:) –

答えて

1

EF6を使用すると、FluentAPIのOnModelCreatingメソッドでプロパティ値を設定できます。 ユーザークラスがあり、Countryプロパティを常にUSAとしたいとします。

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'の値を渡す必要があります。私は厳しい方法を試みたが成功しなかった。

関連する問題