Лучший подход для двоичного столбца с LINQ to SQL - PullRequest
3 голосов
/ 24 января 2010

Моя таблица SQL 2008, назовем ее tblDocument, содержит такие столбцы, как name, creator, sequenceNumber, за которыми следует столбец varbinary (max) DocumentContent, содержащий сам документ.

Я использую LINQ to SQL. Если я хочу отобразить строки tblDocument в интерфейсе без извлечения многомегабайтного двоичного файла по проводам для каждой строки, каков наилучший способ для этого? Есть ли способ сделать это так, чтобы поток файлов не был доступен, пока я не прочитал из свойства, или что-то в этом роде?

Спасибо!

1 Ответ

2 голосов
/ 24 января 2010

Вы можете использовать Linq для создания анонимного объекта, который не включает столбец DocumentContent.Например:

var list = from item in db.tblDocument
  select new  
  {
    item.ID,
    item.name,
    item.creator,
    item.sequenceNumber
  };

Затем позже используйте идентификатор для получения только DocumentContent, когда вам это нужно:

var content = db.tblDocument
  .Where(x => x.ID == MyRowID)
  .Select(x => x.DocumentContent).Single();
...