Linq to SQL EntitySet绑定MVVM的方式

时间:2009-12-17 23:02:39

标签: wpf linq-to-sql image mvvm entityset

在WPF应用程序中,我正在使用LINQ to SQL类(由SQL Metal创建,因此实现了POCO)。

假设我有一个表User和一个Table Pictures。这些图片实际上是从一张图片中创建的,它们之间的区别可能是尺寸,颜色,......

因此每个用户可能有多个图片,因此关联为1:N(用户:图片)。

我的问题

a)我如何以MVVM方式将图片控件绑定到EntitySet中的一张图片(我将拍摄一张特定的图片),以显示它?

b)每当用户更改其图片时,应丢弃整个EntitySet,并添加新创建的图片。这是正确的方法吗?

e.g。

//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 :(得分:0)

我有两种选择(但还有更多)。

  1. 绑定到图片并使用您自己的converter选择合适的图片。
  2. 根据您的视图需求创建一个ViewModel来包装模型,公开Picture propery并绑定到它。
  3. 如果您需要更多详细信息,请发表评论。

    干杯,安瓦卡