Я хочу установить MaxLength по умолчанию для строк в Entity Framework, чтобы избежать использования nvarchar(MAX)
, когда MaxLength не указано.(В идеале я хотел бы обнаружить любые строки без атрибута MaxLengthAttribute и выдать исключение, предотвращающее генерацию миграций до тех пор, пока один из них не установлен).
Пользовательский код Первые соглашения , как показано здесь указывает, что такой подход должен работать:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Properties<string>()
.Configure(c => c.HasMaxLength(500));
}
Однако GUID для IdentityUser в библиотеке AspNet.Identity (обычно nvarchar(128)
) переопределяется этой максимальной длиной по умолчанию.
Как я могу сделать эту игру красиво?