覆盖IdentityUser配置的自定义代码优先约定

时间:2018-10-05 15:05:09

标签: asp.net entity-framework asp.net-identity

我想为Entity Framework中的字符串设置默认的MaxLength,以避免在未指定MaxLength时使用nvarchar(MAX)。 (理想情况下,我想检测没有MaxLengthAttribute的任何字符串,并抛出一个异常,以防止在设置之前生成迁移)。

自定义代码优先约定(如here所示)表明这种方法应该可行:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder.Properties<string>() 
        .Configure(c => c.HasMaxLength(500));
}

但是,此默认的最大长度已覆盖AspNet.Identity库(通常为nvarchar(128))中IdentityUser的GUID。

我怎样才能很好地发挥这个效果?

0 个答案:

没有答案