Linq to sql 使用linq2SQL返回一对多关系?

Linq to sql 使用linq2SQL返回一对多关系?,linq-to-sql,join,iqueryable,Linq To Sql,Join,Iqueryable,是否有一种从linq2sql返回1对多关系的好方法,可能需要一些解释!:-) 基本上,我有一个包含发票的表和另一个包含发票详细信息的表 我有使用linq2sql设计器自动创建的linq2sql类 因此,要返回查询,其中发票1232有15个不同的项目/详细信息。。。我目前的看法是,我必须先查询发票,然后再查询发票查询详细信息 我相信一定有更简单的方法?而不是做两个查询。。。i、 加入 我还想看看是否可以返回Iqueryable中的值,但要使用链接表 基本调用我有一个方法,即Iqueryable G

是否有一种从linq2sql返回1对多关系的好方法,可能需要一些解释!:-)

基本上,我有一个包含发票的表和另一个包含发票详细信息的表

我有使用linq2sql设计器自动创建的linq2sql类

因此,要返回查询,其中发票1232有15个不同的项目/详细信息。。。我目前的看法是,我必须先查询发票,然后再查询发票查询详细信息

我相信一定有更简单的方法?而不是做两个查询。。。i、 加入

我还想看看是否可以返回Iqueryable中的值,但要使用链接表

基本调用我有一个方法,即Iqueryable GetInvoice()


当然,Iqueryable是一种通用类型,可以包含发票或发票详细信息-不是两者都包含,或者可能我遗漏了什么?

如果您的数据库设计已经包含发票表中主键和发票详细信息表中外键(发票id)之间的连接(“约束”),然后,您应该能够从发票对象访问发票详细信息,如下所示:

myInvoice.Details
当您将表拖到设计器中时,Linq到SQL应该已经为您创建了此关系。换言之,您可以从发票对象中获取信息,并直接访问详细信息


如果此关系确实存在,您应该在Linq to SQL设计器中将其视为发票表和发票详细信息表之间绘制的一条线。

如果您在数据库中设置了关系,然后使用设计器创建了对象,您应该能够自动从发票中获取发票详细信息

像这样的

IList<InvoiceDetail> invoiceDetails = GetInvoice().SingleOrDefault(x => x.invoiceKey == 1232).InvoiceDetails.ToList();
IList invoiceDetails=GetInvoice().SingleOrDefault(x=>x.invoiceKey==1232.invoiceDetails.ToList();