首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# Silverlight -定义数据库表之间的连接?

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

Stack Overflow用户
提问于 2009-09-23 09:41:40
回答 1查看 1K关注 0票数 1

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

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

代码语言:javascript
复制
private void dataGrid1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {  

                var auditJob = dataGrid1.SelectedItem as Job;
                auditsList.ItemsSource = auditJob.Audit;
}

正如您所看到的,这不是火箭科学,但这种方法当然是有效的,因为作业和审计之间存在一对多的关系。(一项工作,多项审计)。我想用Image表做一些类似的事情(不同的关系结构)。这一次,我想用my Image表的内容填充一个列表框,以便当用户在datagrid中选择特定作业时,它会显示对该作业的审计和图像列表。然而,由于工作和图像之间没有直接的联系,我不确定如何做到这一点,但我想采用与我上面使用的方法类似的方法。由于一个作业有多个审计,一个映像有多个审计,因此audit表包含自己的AuditID主键,以及JobID外键和ImageID外键。我的问题是,如何设置作业和图像之间的链接,以便为每个单独的作业生成图像列表?

如果您能帮忙,我们将不胜感激

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-23 19:07:54

我认为这是对您问题的一个很好的描述:http://microapplications.com/blog/archive/2009/04/18/329.aspx

实际上,您可以创建一个包含作业、图像和审计属性的新类,并从DomainService返回它。在服务器端,您拼凑了一些LINQ代码,它们将从所有3个表中选择相关的项。

不过,这只是一种解决方案,您还可以在selectionchanged处理程序中编写一些代码,以便只加载与所讨论的作业相关的图像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1464986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档