Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Entitätsframework und VARBINARY

Ein varbinary übersetzt in ein byte[] Feld in Entity Framework, was bedeutet, dass Sie die Länge überprüfen können Eigenschaft des Arrays:

int fieldSize = entity.MyVarBinaryField.Length;

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

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