有可能創造的EntityFramework 6習俗約定如下:
創建會議類
public class ManualIdentityConvention : Convention
{
public ManualIdentityConvention()
{
this.Properties<int>()
.Where(p => p.Name.EndsWith("Id"))
.Configure(p => p.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None));
}
}
會議添加到您的DbContext
public class Context : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Add(new ManualIdentityConvention());
}
}
的EntityFramework 5
至於的EntityFramework 5,我相信可以實現類似的東西,但不是通過常規類:
public class Context : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Properties<int>()
.Where(x => x.Name.EndsWith("Id"))
.Configure(x => x.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None));
}
}
在任何一種情況下,這兩種方法都不是特別手術,但可以想象的是,通過在某人的where子句中更加具體來規定該慣例。
這有幫助嗎?