SQL-FileStream - + Entity Framework speichern Sie große Dateien
Wenn ich will, um zu speichern eine Datei in einem filestream-Spalte, die ich immer Lesen müssen, das ganze Binär in den Speicher:
using (MemoryStream memoryStream = new MemoryStream())
{
sourceStream.CopyTo(memoryStream);
binaryStore.Content = memoryStream.ToArray(); //Content = filestream column
}
gibt es eine Möglichkeit mit dem entity framework, um den stream direkt? Denn wenn ich Sie hochladen möchten eine große Datei, bekomme ich eine OutOfMemoryException.
- Könnte dies gelöst werden, indem Sie eine ähnliche Methode, stackoverflow.com/questions/4441179/... ? Es scheint mit EntityFramework, gemischt mit der alten Art von Verbindung.
- ja, wenn es nicht einen anderen Weg geben, werde ich diesen verwenden. danke
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht sehen, ein update über die FILESTREAM-Unterstützung in EF. (Bereits erwähnt, als partielle Unterstützung mit .net 3.5 sp1-Version hier). Ich nehme an, entity framework ist der Zugriff auf FILESTREAM-über TSQL und deutlich, dass Sie nicht in der Lage sein, um die streaming-performance Vorteile des FILESTREAM. (benötigen, Lesen Sie alle Datei-Inhalte in den Speicher)
So, der empfohlene Ansatz ist die Verwendung mit
SqlFileStream
.Net-API.http://lennilobel.wordpress.com/2011/08/22/using-sqlfilestream-in-c-to-access-sql-server-filestream-data/
EF hat keine Unterstützung für
FIlESTREAM
. Es handhabt alle Interaktionen mitFILESTREAM
normalVARBINARY(MAX)
Spalte, also, wenn Sie wollen, um die streaming verwenden, müssen Sie verwenden ADO.NET direkt.Können Sie es tun, aber es erfordert einige manuelle Arbeit. Erfordert
FILESTREAM
aktiviert werden.https://docs.microsoft.com/en-us/sql/relational-databases/blob/enable-and-configure-filestream
Tabelle, beachten Sie die
unique rowguidcol not null
IdFile Spalte, die erforderlich ist.EF-Modell, IdFile Spalte nicht vorhanden ist, es enthält nur die default-Werte und ist von keinerlei nutzen für uns. Es ist nur die von SQL Server verwendet:
VM:
Quelle:
http://www.floatincode.net/post/sql-file-stream-in-asp.net-mvc-with-entity-framework