DataTable z polem byte [] jako parametrem procedury składowanej

Korzystałem z tej metody używania DataTable jako parametru procedury składowanej i działała ona świetnie. Oto uproszczony kod roboczy:

using (dbEntities dbe = new dbEntities())
{
    var dt = new dataTable();
    dt.Columns.Add("ID");
    dt.Columns.Add("Message");
    dt.Columns.Add("CreatedOn", typeof(DateTime));

    foreach (var row in randomDataSource)
    {
        dt.Rows.Add(
            row.id,
            row.message,
            DateTime.Now
            );
    }

    var tableType = new SqlParameter("tableType", SqlDbType.Structured);
    tableType.Value = dt;
    tableType.TypeName = "[dbo].[RandomTableType]";

    dbe.ExecuteStoreCommand(
        "EXEC [dbo].[SaveTable] @tableType",
        new object[] { tableType }
        );
}

Problem pojawia się, gdy pole, które chcę dodać, jest typu binarnego. to znaczy.:

dt.Columns.Add("BinaryMessage", typeof(byte[]));

Odpowiednia kolumna w bazie danych tovarbinary(MAX) tak poza tym. Gdy próbuję to uruchomić, pojawia się ten błąd:

Niejawna konwersja z typu danych nvarchar (max) na varbinary (max) jest niedozwolona. Użyj funkcji KONWERTUJ, aby uruchomić to zapytanie.

Jak zmodyfikować, co mam zrobić, aby to działało?

questionAnswers(1)

yourAnswerToTheQuestion