Основные соглашения EF для datetime2 - PullRequest
0 голосов
/ 26 марта 2019

Я работал над проектом EF 6, в котором в коде структуры у нас была определена Конвенция, чтобы гарантировать, что все POCO сущностей, которые имеют C # DateTime, будут отображаться в datetime2 в Sql Server. Теперь, когда нет соглашений, как я могу добиться этого в EF Core?

1 Ответ

0 голосов
/ 26 марта 2019

Спасибо @DavidG.Основываясь на отправленной вами ссылке, я думаю, что это сработает (сейчас я в корпоративной сети с групповой политикой, которая не позволяет консоли диспетчера пакетов NuGet вызывать init.ps1 для entityframeworkcore.tools, поэтому мне придется подождать, покапопробуйте это дома)

foreach (var entity in modelBuilder.Model.GetEntityTypes())
{
    var dateTimeProps = entity.GetProperties()
        .Where(p => p.PropertyInfo.PropertyType == typeof(DateTime));
    foreach (var prop in dateTimeProps)
    {
        modelBuilder.Entity(entity.Name).Property(prop.Name).HasColumnType("datetime2");
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...