Guardar byte en una base de datos de SQL Server desde C #

¿Cómo puedo guardar una matriz de bytes [] en una base de datos de SQL Server? Este byte [] contiene un valor HashAlgorithm.

Los datos son necesarios nuevamente para un uso posterior. Así que convertirlo y NO recuperarlo en su estado original, no es lo que quiero.

¡Gracias por adelantado!

Deberías poder escribir algo como esto:

string queryStmt = "INSERT INTO dbo.YourTable(Content) VALUES(@Content)"; using(SqlConnection _con = new SqlConnection(--your-connection-string-here--)) using(SqlCommand _cmd = new SqlCommand(queryStmt, _con)) { SqlParameter param = _cmd.Parameters.Add("@Content", SqlDbType.VarBinary); param.Value = YourByteArrayVariableHere; _con.Open(); _cmd.ExecuteNonQuery(); _con.Close(); } 

Usando Linq-to-SQL, escribirías algo como esto:

 using(YourDataContextHere ctx = new YourDataContextHere()) { SomeClassOfYours item = new SomeClassOfYours(); item.ByteContent = (your byte content here); ctx.SomeClassOfYourses.InsertOnSubmit(item); ctx.SubmitChanges(); } 

Eso insertará su byte[] en una columna Content de tipo VARBINARY en su tabla de SQL Server como una secuencia de bytes, que puede volver a leer 1: 1 nuevamente más adelante.

Use VARBINARY

Varbinary o CHAR – con el valor convertido a un hex. Lo hago bastante a menudo con valores hash porque me permite VER y COMPARARlos fácilmente (en rintouts, durante el desarrollo), y la sobrecarga es mínima.