Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C Silverlight-定义数据库表之间的连接?_C#_Database_Silverlight_Join - Fatal编程技术网

C# C Silverlight-定义数据库表之间的连接?

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

目前我有一个c silverlight业务应用程序。该应用程序托管在Asp.net中,使用ADO.net实体框架和域服务类读取/写入sql server数据库

数据库的结构如下所示。我有三张桌子。工作、审计和形象。一个作业可以有多个审核,一个映像可以有多个审核—这是一个相当简单的结构。在我的Silverlight客户端中,我有一个绑定到Jobs表的datagrid,还有一个列表框,其中填充了与datagrid中所选作业直接相关的审计项目列表。为了做到这一点,我使用datagrids selection changed事件来确保每次在datagrid中更改作业选择时,审计列表框都会为每个作业填充一组特定的审计。执行此操作的代码如下所示:

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循环:-有什么想法吗?!