尝试更新到EntityFramework7,但无法找到这些方法。在EF6中,我们可以做这样的事情
公约
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
属性
modelBuilder.Properties<DateTime>()
.Configure(c => c
.HasColumnType("datetime2")
.HasPrecision(0));
配置
modelBuilder.Configurations.Add(new ModuleConfig());
我已经读过1个stackoverflow帖子,说配置不再可能了,所以你必须在OnModalCreating方法中写下这一切,这看起来很愚蠢,因为方法会很大,但也许这是旧版本? / p>
我正在使用beta7
答案 0 :(得分:3)
请记住,beta7尚未完成功能,即使RC1也不具备与EF6相同的功能。
自定义约定位于timeZone。
对于属性,您可以使用以下内容;
protected override void OnModelCreating(ModelBuilder builder)
{
foreach (var type in builder.Model.EntityTypes.Where(type => type.HasClrType))
{
foreach (var property in type.Properties)
{
if (property.ClrType == typeof(DateTime))
{
builder.Entity(type.ClrType)
.Property(property.ClrType, property.Name)
.HasSqlServerColumnType("datetime2(0)");
}
}
}
}