Entity Framework und VARBINARY

asp.net c# entity-framework sql-server-2005

Frage

Ich verwende das .NET-Entity-Framework und habe eine Entität, die ein Varbinary enthält. Gibt es eine einfache Möglichkeit, die Größe des Varbinary im Codebind zu ermitteln, nachdem es aus der Datenbank abgerufen wurde?

Ich denke, es gibt einen Weg, um die Größe direkt von der Entität zu bekommen, etwa Entität.

Akzeptierte Antwort

Ein varbinary in ein byte[] -Feld in Entity Framework übersetzt. varbinary bedeutet, dass Sie die Length- Eigenschaft des Arrays überprüfen können:

int fieldSize = entity.MyVarBinaryField.Length;

Wie von tster erwähnt : In einer LINQ to Entities-Abfrage können Sie die DataLength- Methode der SqlFunctions- Klasse aufrufen , die in der generierten SQL-Anweisung in einen DATALENGTH- Funktionsaufruf übersetzt wird. Dies funktioniert nur mit SQL Server und Entity Framework 4 oder höher:

int? fieldSize = repository.Entity
  .Select(e => SqlFunctions.DataLength(e.MyVarBinaryField)).Single();

Beliebte Antwort

Ich weiß, dass diese Frage alt ist, aber EF unterstützt dies jetzt mithilfe von SqlFunctions.DataLength()



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum