Я считаю, что вы можете использовать предложение .WRITE в инструкции UPDATE для ввода вложенных данных. Если вы используете LINQ, вы должны создать две команды из объекта контекста данных. Сначала создайте (INSERT) строку, которая будет содержать данные. Второй - это оператор UPDATE, который использует предложение .WRITE. параметризуют данные и значения смещения. Прокрутитесь, выполняя инструкцию UPDATE столько раз, сколько у вас есть «куски».
INSERT INTO XrayImages (HeaderId, ImageBytes) ЗНАЧЕНИЯ (@headerId, @imageValue)
UPDATE XrayImages SET ImageBytes.WRITE (@imageChunk, NULL, @chunkLength ГДЕ ImageID = @imageId;
Более информация, пожалуйста, проверьте эту статью MSDN: http://msdn.microsoft.com/en-us/library/bb399384.aspx
Я уверен, что к тому времени, что ваш код контроллера называется, весь запрос был получен (и в памяти) Я основывая. это от запроса. Коллекция файлов уже знает, сколько файлов есть, и их длины. С многочастными формами единственный способ узнать, как это определить, - это прочитать весь запрос. Я вообще не знаю, как это изменить в MVC, поэтому вам, возможно, придется написать обработчик, который сам загружает файл.
Здесь много переменных, которые необходимо учитывать. В зависимости от количества 1000 одновременных клиентов, которые будут загружать данные одновременно, вам понадобится несколько GB nics между сервером db и веб-сервером. Вам также понадобятся возможности ввода-вывода на вашем сервере базы данных, которые будут за пределами того, что я испытал.
Я бы серьезно подумал о сохранении файлов в местоположении на основе файловой системы и наличии метаданных в базе данных, особенно если вы можете хранить файлы на веб-сервере. В противном случае я считаю, что использование возможностей FileStream SqlServer будет более масштабируемым, чем просто чистое решение таблицы.
Надеюсь, что это поможет!
В какой версии вы принимаете? Рекомендуется использовать Filestream, а не хранить в виде блоков в файлах данных большие данные. –
@Martin - * what * Filestream? ваш комментарий не очень полезен без дальнейшей проработки. –
@Peter http://technet.microsoft.com/en-us/library/bb933993.aspx –