Хранить картинки в базе данных - плохой подход.
Для данных используйте базу данных, а для файлов- файловую систему. Попробуйте хранить в базе имя файла и когда он вам нужен брать его с диска. Это даст существенное преимуществф: уменьшение время запроса к БД и объем передаваемой оттуда информации , считывание с файловой системы может быть более оптимизировано по скорости.
Также не стоит хранить объёмные данные в сессии - они будут занимать место в оперативке на сервере на все время жизни сессии.
Попробуйте Entity Framework - вам не нужно будет вручную писать sql запросы , только работать с классами - всю работу с базой он берет на себя
Если файл не виден в обозревателе в Visual Studio, то в контекстном меню папки в обозревателе выберите Add->Existing item (или Alt+Shift+A).
посмотрите
metanit.com и
professorweb.ru - там очень много материалов по которым можно разобраться с современными .net технологиями.
также есть много ресурсов на
asp.net