Тип данных изображения в SQL Server Comapct 4 и Code-First Entity Framework 5

Мой столбец сущности Code-First объявлен следующим образом:

[Required, DataType("image")]
public byte[] Picture { get; set; }

Валидации отключены:

Configuration.ValidateOnSaveEnabled = false;

И тип столбца по-прежнему varbinary(4000).

Когда я пытаюсь сохранить данные, Entity Framework выдает исключение:

Усечение байтового массива до длины 4000.

Как объявить, что тип С# byte[] должен быть сопоставлен с типом image SQL?

Версии:

SQL Server компакт 4

Entity Framework 5 RC

.NET Framework 4.0


person Václav Dajbych    schedule 26.06.2012    source источник
comment
См. мой пост в блоге здесь: erikej.blogspot. dk/2011/04/ Атрибут должен быть: [Column(TypeName = image)] public byte[] Photo { get; установлен; }   -  person ErikEJ    schedule 30.06.2012
comment
Я знаю, что это возможно в EF4, но в EntityFramework.dll версии 5 RC нет System.ComponentModel.DataAnnotations.ColumnAttribute.   -  person Václav Dajbych    schedule 02.07.2012
comment
Он находится в пространстве имен System.ComponentModel.DataAnnotations.Schema (перемещено туда)   -  person ErikEJ    schedule 03.07.2012


Ответы (1)


Используйте этот атрибут:

[MaxLength]
person ErikEJ    schedule 08.06.2013