Насколько я понимаю, я могу это сделать тремя способами.
Мне сложно решить, какой из них мне больше подходит.
У меня будет гораздо больше операций чтения, чем записи, но и записи будут происходить не так уж часто.
Все изображения наверняка будут размером менее 1 МБ, но обычно они составляют около 50 КБ.
Не храните изображения в базе данных или двоичные данные вообще, если этого можно избежать. Он не принадлежит базе данных. Сохраните изображения в вашей файловой системе и сбросьте указатель в вашу базу данных со всеми связанными метаданными (тип файла, размер, дата и т. Д.).
При этом вам нужно будет принять несколько мер предосторожности. Во-первых, вам нужно как-то избежать конфликтов имен файлов (возможно, сохраните файл, используя идентификатор файла, замененный на настоящее имя файла). Во-вторых, убедитесь, что в одном каталоге не окажется слишком много файлов - это может привести к проблемам с производительностью в будущем.
Ответ в зависимости от обстоятельств. Мне нужно больше узнать о природе вашего приложения. Вы находитесь на грани использования файлового потока и хранения изображений в базе данных. Видеть эта статья MSDN для полного обсуждения плюсов и минусов каждого подхода. Я думаю, что самым важным моментом будет выполнение частых небольших обновлений.