Я пытаюсь добавить сущность в SQL CE 4 со свойством типа byte []. Из MSDN я выяснил, что только файлы изображений могут содержать большие файлы (в моем случае они не такие большие, но все же превышают ограничение двоичного типа 8000 байт).
Вот модель:
public class TabModel
{
[Key]
public Guid Id { get; set; }
public string Title { get; set; }
public string Subtitle { get; set; }
public string Artist { get; set; }
public string Album { get; set; }
public string Author { get; set; }
public string TabAuthor { get; set; }
public DateTime DateAdded { get; set; }
[Column("file",TypeName="image")]
public byte[] File { get; set; }
public TabModel()
{
Id = Guid.NewGuid();
DateAdded = DateTime.Now;
}
}
У меня также есть класс, производный от DbContext, и когда я использую его, что-то вроде этого
library.Tabs.Add(tab);//tab of type TabModel, File is array with length equals 12000
library.SaveChanges();//throws exception
Ошибка:
Проверка не удалась для одного или нескольких объектов. Увидеть
Свойство EntityValidationErrors для более подробной информации.
EntityValidationErrors [0] = "Поле File должно быть строкой или массивом
тип с максимальной длиной '4000'. "
Я пытался использовать атрибут MaxLength при изменении свойства и ошибки на «Двоичный столбец длиной более 8000 не поддерживается».
Похоже, EF отображает столбец в двоичный тип, а не в изображение. Как это исправить?