将 blob 提取到 linq 对象中

本文关键字:对象 linq blob 提取 | 更新日期: 2024-11-05 22:52:52

我通常使用 linq 语法从表中获取数据,但在这种情况下,在获取 blob 时,我遇到了 linq 无法处理大型 blob 的问题。

因此,我尝试使用以下方式获取 blob:

        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 是 table1 的 dbml 表,其中仅包含一列类型为 varbinary(blob) 的列。 reader[0] as System.Data.Linq.Binary但当表中的行包含 Blob 时返回 null。

将 blob 提取到 linq 对象中

这就是你要找的

(byte[])reader["blob"];

进一步阅读 这里