是否可以将自己的约定添加到Entity Framework 4.3?
4.1版本之前可能就像这样
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Conventions.Add<UppercaseColumnNameConvention>(); // Own convention
}
但是在v4.1之后,Add方法是内部的。
我需要将数据库中的所有列设置为大写而不更改POCO对象,如果可能,则不使用属性。 b / o有很多实体,这很难重命名所有字段或添加属性[Column("UPPERCASENAME")]
。
答案 0 :(得分:1)
目前不支持可插入约定。这个帖子Pluggable Conventions in Entity Framework仍然存在。您可以在OnModelCreating方法中使用HasColumnName()方法配置列名。如果您不想手动执行此操作,则可以自动执行此操作(例如,使用反射)并对模型中的所有实体执行此操作。是的,这远非理想。