我是C#和WPF的新手,所以请耐心等待..
这不完全是主/细节方案,可能是我遇到问题的原因,但一般来说,我试图弄清楚如何关联两组不完全主/细的数据。
为了简单起见,假设我有两个视图/视图模型
1) Person
ID, FirstName, LastName
2) Contact
ID, PhoneNumber
现在,我通常知道你会想到一个有几个联系人的人,它会是这样的:
Contact :
ID, PersonID, PhoneNumber
但是对于这个例子,让我们继续我的方式......
我有另一个表,一个连接表,有
PersonID
ContactID
现在,如果Bob和Mary都有相同的电话号码,则联接表中有2个条目
1 1
2 1
(假设Bob为1,Mary为2,而555-555-5555为联系人ID为1)
所以,我为Person构建了视图和视图模型,没问题 我为联系人构建了视图和视图模型,再次没有问题
现在,如果我构建一个使用Person作为主视图和Contact作为详细信息的视图,如何限制仅显示所选人员的那些联系人?同样,如果我有另一个联系人#的视图,我想查看与该选定号码相关联的人员列表,那么如何执行此操作。
这可能很容易,但我似乎无法弄明白。
或者,我是否需要在Person视图模型中实际创建ObservableCollection以及在Contact视图模型中创建ObservableCollection?
任何帮助将不胜感激。
答案 0 :(得分:0)
数据库概念中的多对多关系很难用C#表达。
实现这一目标的一种方法是:
这允许您的人员视图和联系人视图像标准主 - 详细信息视图一样运行。