更新时间:2022-10-20 15:43:53
以下是一些示例代码。无需删除现有约定,因为您的配置将覆盖它们。
public class MyContext:DbContext
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Add< UpperCaseTables>();
modelBuilder.Conventions.Add< UpperCaseColumns>();
}
}
公共类UpperCaseColumns:
IConfigurationConvention< PropertyInfo,PrimitivePropertyConfiguration>
{
public void Apply(PropertyInfo propertyInfo,Func< PrimitivePropertyConfiguration> configuration)
{
configuration()。ColumnName = propertyInfo.Name.ToUpper();
}
}
公共类UpperCaseTables:
IConfigurationConvention< Type,EntityTypeConfiguration>
{
public void Apply(Type typeInfo,Func< EntityTypeConfiguration> configuration)
{
if(typeInfo.BaseType == typeof(object))
{
configuration()。ToTable(typeInfo.Name.ToUpper());
}
}
}
〜罗文
I'm using EF4 with CodeFirst.
public class MyContext : DbContext
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Remove<XXX>();
modelBuilder.Conventions.Add<XXX>());
}
}
What convention should I add or remove to make all DB identifiers (like column names, table names, stored procedures etc) to be in uppercase (or unquoted)?
Case-sentitive (quoted) identifiers in Oracle DB greatly damage DB user-friendliness.
Hi,
Here is some sample code. There is no need to remove the existing conventions as your configuration will override them.
public class MyContext : DbContext { protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Conventions.Add<UpperCaseTables>(); modelBuilder.Conventions.Add<UpperCaseColumns>(); } } public class UpperCaseColumns : IConfigurationConvention<PropertyInfo, PrimitivePropertyConfiguration> { public void Apply(PropertyInfo propertyInfo, Func<PrimitivePropertyConfiguration> configuration) { configuration().ColumnName = propertyInfo.Name.ToUpper(); } } public class UpperCaseTables : IConfigurationConvention<Type, EntityTypeConfiguration> { public void Apply(Type typeInfo, Func<EntityTypeConfiguration> configuration) { if (typeInfo.BaseType == typeof(object)) { configuration().ToTable(typeInfo.Name.ToUpper()); } } }
~Rowan