3 Stimmen

Bester Ansatz für eine binäre Spalte mit LINQ to SQL

Meine SQL 2008 Tabelle, nennen wir sie tblDocument, hat Spalten wie name, creator, sequenceNumber, gefolgt von einer varbinary(max) Spalte "DocumentContent", die das Dokument selbst enthält.

Ich verwende LINQ to SQL. Wenn ich die Zeilen von tblDocument in einer Schnittstelle anzeigen möchte ohne Was ist der beste Weg, um eine Multi-Megabyte-Binärdatei für jede Zeile über das Kabel abzurufen? Gibt es eine Möglichkeit, dies zu tun, so dass der Dateistrom nicht zugreifen, bis ich von der Eigenschaft lesen, oder so etwas wie das?

Gracias.

2voto

Keltex Punkte 25852

Sie können Linq verwenden, um ein anonymes Objekt zu erstellen, das die DocumentContent-Spalte nicht enthält. Zum Beispiel so:

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

Verwenden Sie dann später die ID, um nur den DocumentContent abzurufen, wenn Sie ihn benötigen:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X