Ich möchte, dass meine C# -App den Clients das Hoch- und Herunterladen von Audiodateien ermöglicht und sie in der Datenbank gespeichert werden müssen. Welches ist der geeignete Datentyp in SQL Server, den ich verwenden sollte?Datentyp zum Speichern von Audiodateien in der SQL Server-Datenbank?
Antwort
Mit EntityFramework CodeFirst byte [] wird auf varbinary (max) automatisch Karte
public class AudioFile
{
//TODO: DB generated
[Key]
public int ID { get; set; }
//This will automatically map to varbinary(max)
public byte[] FileData { get;set; }
public string LocalFileName { get;set;}
public string MIMEType {get;set;}
}
Obwohl Sie eine allgemeine byte [] zu speichern, verwenden, können Sie mehr Verkapselung mit der Klasse für die Spezialisierung hinzuzufügen. Für das eigentliche FileData-Feld ist kein Audio-Datentyp erforderlich.
public partial class AudioFile
{
public void Play()
{
//TODO
}
}
Denken an nur SQL Server und der beste Datentyp
Varbinary (max) ist die beste Art zum Speichern von binären Daten für alle Dateitypen zu verwenden. Dies schließt die Berücksichtigung von FileStreaming aus und schließt auch das Speichern von Dateien getrennt von der Datenbank in einem Ordner aus.
Varbinary-Einschränkung - Wenn Sie viele dieser Audiostreams speichern und SQL Server Express verwenden, werden Sie bald Ihre 10-GB-Grenze erreichen. Sie können die Partitionierung mit mehreren Datenbanken fortsetzen, aber im Allgemeinen ist es eine schlechte Idee, Dateidaten in Datenbankfeldern zu speichern.
Wenn Sie nur eine Prototyp-Anwendung oder die ersten Versionen starten, behalten Sie den Bereich im Auge.
FileStream ist eine gute Option. Es dauert ein wenig, um auf SQL Server zu konfigurieren, wenn es das erste Mal ist.
Aber ich entscheide mich oft für meine eigenen Dateiordner. In einem Webanwendungskontext ist es viel einfacher, diesen Dateiordner direkt für statische Dateidownloads und CDN-Caching verfügbar zu machen (abhängig von der Empfindlichkeit der Informationen).
Fazit:
- aus einfachen Feldern, ist die beste wählen varbinary (max)
- varbinary (max) ist auch der schnellste gehend zu erhalten
- Sie später konvertieren kann, wenn Es wird ein Problem, aber ich bin mir sicher, dass Sie etwas mehr als ein AudioFile Data Store erstellen, und zuerst mehr von den anderen wichtigen Features erstellen sollten.
- 1. SQL-Datentyp zum Speichern von Build-Versionen
- 2. iCloud zum Speichern von Audiodateien - mehrere Fragen
- 3. Verzeichnis zum Speichern von Audiodateien unter Android
- 4. Die beste Methode zum Synchronisieren der Clientdatenbank mit der Serverdatenbank
- 5. Welcher Datentyp wird zum Speichern der Binärzahl (base2-Nummern) in SQL Server verwendet, außer Varchar-Datentyp
- 6. Datentyp zum Speichern der 20-stelligen Nummer
- 7. Speichern und Abrufen von Audiodateien
- 8. Was ist der apt Oracle-Datentyp zum Speichern von ISOYearMonth?
- 9. SQL-Datentyp zum Einfügen von Geld
- 10. Bibliothek zum Lesen von Audiodateien
- 11. Welcher Datentyp wird in MySQL zum Speichern von Bildern verwendet?
- 12. was Datentyp zum Speichern von Datum Zeit in cassandra
- 13. .NET-Komprimierung von XML zum Speichern in SQL Server-Datenbank
- 14. Node.js Wie zum Bild von Varbinary MS Sql Server Datentyp
- 15. Was ist der Datentyp zum Speichern benutzerdefinierter bitweiser Operator
- 16. MySQL: Der effizienteste Datentyp zum Speichern langer Notizen?
- 17. Bester mysql-Datentyp zum Speichern von RSA-Schlüsseln?
- 18. c Programm zum Abspielen von Audiodateien
- 19. Speichern unbekannter Datentyp in MS SQL Server-Datenbank
- 20. Bester MySQL-Datentyp zum Speichern von MD5-Hash oder NULL
- 21. Gute Python-Bibliothek zum Erzeugen von Audiodateien?
- 22. welcher Datentyp zum Speichern meiner Liste in C#
- 23. Sql Server 2005: Welchen Datentyp zum Speichern von Kennwörtern mit SHA-256-Algorithmus?
- 24. Serieller Datentyp in sql
- 25. PowerApps - Speichern von Mic-Audiodateien in einem abspielbaren Format
- 26. Die beste Methode zum Speichern alter Daten in SQL Server
- 27. MSSQL & SQL-Datentyp Alternativen?
- 28. WSUS-Clients, die in der WSUS-Serverdatenbank fehlen
- 29. Datentyp zum Speichern von Längen- und Breitengrad in der Oracle-Datenbank
- 30. Ausgabe von SQL-Zeit Datentyp in jqgrid
C# - Byte-Array, Datenbank - varbinary. –