C# C Silverlight-定义数据库表之间的连接?
目前我有一个c silverlight业务应用程序。该应用程序托管在Asp.net中,使用ADO.net实体框架和域服务类读取/写入sql server数据库 数据库的结构如下所示。我有三张桌子。工作、审计和形象。一个作业可以有多个审核,一个映像可以有多个审核—这是一个相当简单的结构。在我的Silverlight客户端中,我有一个绑定到Jobs表的datagrid,还有一个列表框,其中填充了与datagrid中所选作业直接相关的审计项目列表。为了做到这一点,我使用datagrids selection changed事件来确保每次在datagrid中更改作业选择时,审计列表框都会为每个作业填充一组特定的审计。执行此操作的代码如下所示:C# C Silverlight-定义数据库表之间的连接?,c#,database,silverlight,join,C#,Database,Silverlight,Join,目前我有一个c silverlight业务应用程序。该应用程序托管在Asp.net中,使用ADO.net实体框架和域服务类读取/写入sql server数据库 数据库的结构如下所示。我有三张桌子。工作、审计和形象。一个作业可以有多个审核,一个映像可以有多个审核—这是一个相当简单的结构。在我的Silverlight客户端中,我有一个绑定到Jobs表的datagrid,还有一个列表框,其中填充了与datagrid中所选作业直接相关的审计项目列表。为了做到这一点,我使用datagrids select
private void dataGrid1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var auditJob = dataGrid1.SelectedItem as Job;
auditsList.ItemsSource = auditJob.Audit;
}
正如你们所看到的,这不是火箭科学,但当然这种方法是有效的,因为工作和审计之间存在一对多的关系。一份工作,多个审计。我想做一些类似的事情,但是图像表的关系结构不同。这次我想用图像表的内容填充一个列表框,这样当用户在datagrid中选择一个特定的作业时,它会显示该作业的审核和图像列表。然而,由于工作和形象之间没有直接的联系,我不确定如何做到这一点,但我想采用一种类似于我上面使用的方法。由于一个作业有多个审核,而一个映像有多个审核,因此审核表包含其自己的审核主键,以及JobID外键和ImageID外键。我的问题是如何在工作和图像之间建立链接,以便为每个工作生成一个图像列表
非常感谢您的帮助我认为这是对您的问题的一个很好的描述: 本质上,您可以创建一个包含作业、映像和审核属性的新类,并从DomainService返回它。在服务器端,您拼凑一些LINQ代码,从所有3个表中选择相关项
不过,这只是一个解决方案,您也可以在selectionchanged处理程序中编写一些代码,只加载与所讨论的作业相关联的图像。回答得很好,但我现在无法确定如何从查询中获取数据,因为我的类没有GetEnumerator,所以我不能使用foreach循环:-有什么想法吗?!