Я обычно использую синтаксис linq для извлечения данных из таблиц, но в этом случае при извлечении капли Я столкнулся с проблемой, когда linq не способен обрабатывать большие капли.Извлечь blob в объект linq
И поэтому я пытаюсь извлечь сгустки, используя этот путь:
var li = new List<linq_table1>();
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
using (var command = conn.CreateCommand())
{
command.CommandText = "SELECT blob FROM table1";
var reader = command.ExecuteReader();
while (reader.Read())
{
var row = new linq_table1;
row.blob = reader[0] as System.Data.Linq.Binary;
}
}
conn.Close();
}
}
linq_table1 является DBML таблица table1, которая содержит только один столбец с типом VARBINARY (BLOB). reader[0] as System.Data.Linq.Binary
, хотя возвращает null, когда строка в таблице содержит blob.
попробовать '(байт []) читателя [ "клякса"]' – Izzy
Спасибо это сработало! Не могли бы вы отправить ответ, чтобы я мог его принять? Кроме того, если моя таблица1 получила столбец datetime, как мне передать читателю [1] (содержащему дату, но в типе) значение DateTime (sql)? Попытка бросить в System.DateTime дает ошибку: 'Оператор as должен использоваться с ссылочным типом или типом с нулевым значением ('System.DateTime' - тип значения, который не является нулевым)' –