Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
AndrewNet
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 8
1

Entity Framework 6 и отображение картинок BitmapImage

14.02.2016, 21:35. Просмотров 1141. Ответов 4
Метки нет (Все метки)

Здравствуйте !
Только начал изучать EF 6 и столкнулся с небольшой проблемой или не понимаением, сам пока еще не понял.
Есть небольшая бд в которой есть маленькая табличка у которой в одном из полей содержится картинка(фото товара).
Задача:
Хочу использовать подход CodeFirst, но не могу понять, мне нужен на выходе BitmapImage, а не byte[], что бы его поместить в элемент Image.Source. Можно конечно написать руками еще одно свойство, которое по get будет брать из поля byte[] и конвертить его в BitmapImage, так же по set делать обратное действие, записывая массив byte[] в поле с картинкой, но мне кажется такой подход не очень хороший.
Вопрос:
Поделитесь опытом кто давно использует EF как вы работаете с картинками, хранящимися в бд ?

P.S.
Картинки нужно хранить именно в бд. Требование заказчика.
Бд SQLite, но это я думаю значения не имеет при использовании EF, т.к. я уже сделал в ней хранение картинок, но вот "что то меня терзуют смутные сомнения" что я какой то не правильный подход выбрал в работе с картинками.

Добавлено через 2 часа 56 минут
И еще небольшой вопрос в догонку, как вы в EF6 CodeFirst реализовываете INotifyPropertyChanged ?!
В DatabaseFirst я правил шаблон генерации и все работало на ура, но тут не очень понятно как быть.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2016, 21:35
Ответы с готовыми решениями:

Entity Framework и WPF
Доброго вечера, форумчане! Вопрос где можно почитать (на русском языке) про работу с Entity...

Entity Framework и ObservableCollection
хочу понять как правильно использовать энтити модель для управления данными (сохранения,...

MVVM и Entity Framework
Всем привет.Столкнулся с проблемой в том что не сохраняет изменения в базе данных(в таблице...

Использование MVVM + Entity Framework
Добрый вечер! Хотел бы понять как работать по паттерну MVVM в связке с entity, есть некая проблема...

Взаимосвязь Entity Framework и XAML
Доброго вечера. Столкнулся с очередной трудностью, которую не могу решить перечитывая разные...

4
m0nax
1247 / 948 / 113
Регистрация: 12.01.2010
Сообщений: 1,967
Завершенные тесты: 3
14.02.2016, 23:17 2
Цитата Сообщение от AndrewNet Посмотреть сообщение
Хочу использовать подход CodeFirst, но не могу понять, мне нужен на выходе BitmapImage, а не byte[], что бы его поместить в элемент Image.Source. Можно конечно написать руками еще одно свойство, которое по get будет брать из поля byte[] и конвертить его в BitmapImage, так же по set делать обратное действие, записывая массив byte[] в поле с картинкой, но мне кажется такой подход не очень хороший.
не надо кажется, подход хороший
конвертацию из байтов надо писать там где будет отображение, контроллер/viewmodel/mainform
вместо set вынести сохранение в какой-нибудь Save, а вместо get вынести загрузку в некий аналог Load
в итоге будет простое свойство возвращающее чистый image
0
AndrewNet
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 8
14.02.2016, 23:48  [ТС] 3
Не очень понял.
У меня во ViewModel есть список товаров(List<ModelProduct> ListModelProduct), который я отображаю в датагриде, соответственно в форме я кидаю в DataContext свою ViewModel и в XAML в DataGrid пишу ItemsSource="{Binding ListModelProduct}", а в столбце "{Binding Photo}". Но поле ModelProduct.Photo типа BitmapImage это как я описал выше свойство обертка над byte[] Photo, замапленного из бд.
Где вы предлогаете писать конвертацию не очень понял.
0
mrtaler
2 / 1 / 2
Регистрация: 05.12.2015
Сообщений: 2
18.02.2016, 10:23 4
Лучший ответ Сообщение было отмечено AndrewNet как решение

Решение

AndrewNet, посмотри тут, Загрузка из бд картинки недавно тоже решал эту проблему.
1
AndrewNet
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 8
05.03.2016, 14:03  [ТС] 5
mrtaler, да, спасибо !
Именно так и решил, и именно это правильный подход. Вместо полей создал конвертер и использовал его в XAML.
Так же стал использовать конвертеры для bool в Visibility, очень удобно оказалось.
0
05.03.2016, 14:03
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2016, 14:03

Entity Framework и сортировка в DataGrid
Добрий день. Для соединения с DataGrid использываю Entity Framework, и передаю в ItemSourse свою...

DataGrid или ListView + Entity Framework
Столкнулся со следующей проблемой (на примере DataGrid, с ListView аналогичная штука). В...

Свой метод с фильтром в Entity Framework
Добрый день. Смог создать модель DomainService.cs. В ней есть метод GetPeopes(). Возвращает всех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.