Linq to SQL EntitySet Привязка пути MVVM - PullRequest
0 голосов
/ 18 декабря 2009

В приложении WPF я использую классы LINQ to SQL (созданные в SQL Metal и реализующие таким образом POCO).

Давайте предположим, что у меня есть таблица User и таблица Pictures. Эти картинки на самом деле созданы из одной картинки, разница между ними может быть размером, расцветкой, ...

Таким образом, у каждого пользователя может быть более одного рисунка, поэтому связь равна 1: N (пользователь: рисунки).

Мои проблемы :

a) как мне привязать, в MVVM-стиле, элемент управления изображением к одному изображению (я сделаю одно конкретное изображение) в EntitySet, чтобы показать его?

b) каждый раз, когда пользователь меняет свое изображение, весь EntitySet должен быть отброшен, а вновь созданные изображения должны быть добавлены. Это правильный путь?

например.

//create the 1st piture object
UserPicture1 = new UserPicture();
UserPicture1.Description = "... some description.. ";
USerPicture1.Image = imgBytes; //array of bytes


//create the 2nd piture object
UserPicture2 = new UserPicture();
UserPicture2.Description = "... another description.. ";
UserPicture2.Image = DoSomethingWithPreviousImg(imgBytes); //array of bytes


//Assuming that the entityset is called Pictures
//add these pictures to the corresponding user
User.Pictures.Add(UserPicture1);
User.Pictures.Add(UserPicture2);


//save changes 
datacontext.Save()

Заранее спасибо

1 Ответ

0 голосов
/ 18 декабря 2009

У меня есть два варианта для вас (но есть еще много).

  1. Привязка к изображениям и использование собственного конвертера для выбора нужного.
  2. Создайте ViewModel, чтобы обернуть модель в соответствии с вашими потребностями вида, выставить свойство Picture и привязать его

Пожалуйста, прокомментируйте, если вам нужно больше деталей.

Приветствия, Anvaka

...