目前我有一个C#silverlight商业应用程序。该应用程序在Asp.net中使用ADO.Net实体框架和一个域服务类来读/写我的sql服务器数据库。C#Silverlight - 定义数据库表之间的连接?
数据库的结构如下。我有三张桌子。工作,审计&图片。一个工作可以有很多审计,一个图像可以有很多审计 - 一个相当简单的结构。在我的Silverlight客户端中,我有一个绑定到作业表的数据网格,我也有一个列表框,在其中填充与数据网格中所选作业直接相关的审核项目列表。为了做到这一点,我使用datagrids选择已更改的事件,以确保每次在数据网格中更改作业选择时,都会为每个作业的审核列表框填充该特定的审核集。这样做的代码如下:
private void dataGrid1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var auditJob = dataGrid1.SelectedItem as Job;
auditsList.ItemsSource = auditJob.Audit;
}
正如你可以看到它不是火箭科学,当然这种方法可行,因为一个工作与审计之间的许多关系。 (一份工作,许多审计)。我想做一些类似的事情,但与图像表(不同的关系结构)。这一次,我想用我的Image表的内容填充一个列表框,这样当用户在数据网格中选择一个特定的作业时,它会显示该作业的审核和图像列表。但是,由于工作和形象之间没有直接联系,我不确定如何做到这一点,但希望采用类似于上面所用方法的方法。由于一个作业具有多个审核,而一个图像具有多个审核,因此审核表包含其自己的AuditID主键,以及JobID外键和ImageID外键。我的问题是,如何设置Job和Image之间的链接以便为每个单独作业生成图像列表?
帮助将不胜感激
很好的答案,但是我现在不能锻炼如何去查询数据,因为我的类没有GetEnumerator(),因此我不能使用foreach循环:-(任何想法? – Goober 2009-09-24 09:16:18