У меня есть класс POCO с именем Attachment
, который сопоставляется с таблицей в SqlServer с полем VarBinary (max). Поле содержит файлы.EF4 Сопоставление varbinary (max) с двоичным кодом - первая ошибка кода
Класс ПОКО выглядит следующим образом
public class Attachment
{
public string AttachmentId { get; set; }
public string AttachmentTypeId { get; set; }
public string Title { get; set; }
public string Text { get; set; }
public Binary Data { get; set; }
}
по картированию выглядит как этот
modelBuilder.Entity<Attachment>().Property(a => a.Data).HasColumnName("col_data");
Однако отображение бросает ошибку
The type 'System.Date.Linq.Binary' must be a non-nullable value type in order to use it as a parameter 'T'
отображение работает нормально, если я использую массив байтов, но это, по-видимому, искажает данные на пути.
файл в базе данных имеет начальную двоичную строку, как: -
0x504B0304140008000800027923400000000000000000000000001F000000
Я думаю, что это JPG файл. Любая помощь в получении файла из базы данных в одной части будет оценена по достоинству.
Google предполагает, что '0x504B0304' является индикатором zipfile: http://www.google.co.uk/search?q=0x504B0304, если это помогает? (Я бы подумал, что 'byte []' array - это правильный способ продолжения, кстати.) –
Что заставляет вас думать, что он поврежден? – ken2k
Спасибо Оуэн, Это точно, что это было. Теперь я понимаю, что это такое. Теперь я могу распаковать файл и передать содержимое в браузер или файловую систему. –