Каковы действительные примитивные свойства в Entity Framework Code First? - PullRequest
11 голосов
/ 08 июля 2011

Когда я пытаюсь сопоставить столбец с типом данных char в классе модели, я получаю сообщение об ошибке:

Свойство '[ColumnName]' не является объявленное свойство типа «[ClassName]». Убедитесь, что собственность не была явно исключены из модели используя метод игнорирования или NotMappedAttribute аннотация данных. Убедитесь, что это действительный примитив свойство.

Какие допустимые типы примитивов для EF Code First?

1 Ответ

17 голосов
/ 09 июля 2011

Это интересно, но вы действительно не можете отобразить char свойство.Я только что проверил это, и если вы хотите иметь char(1) в базе данных, вы должны использовать свойство string со следующим отображением:

modelBuilder.Entity<MyEntity>()
            .Property(p => p.MyProperty)
            .HasMaxLength(1)
            .IsFixedLength()
            .IsUnicode(false);

Это не только проблема Code-first.Это полное ограничение EF, потому что EDMX-дизайнер также не показывает тип char.Я думаю, что разрешенные типы будут такими же, как описано в CSDL-справка для EDMX, потому что код сначала является просто оберткой вокруг той же инфраструктуры отображения.

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