Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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
使用vb.net实现linq中的多对多_Vb.net_Linq To Sql - Fatal编程技术网

使用vb.net实现linq中的多对多

使用vb.net实现linq中的多对多,vb.net,linq-to-sql,Vb.net,Linq To Sql,我在一个数据库中有3个表: 我在网上搜索了很长一段时间,试图了解如何在linq和vb.net中进行查询,以访问事件表和个人表,例如显示个人1参与ect的所有事件。我想知道是否有人能给我指出正确的方向,或者知道有什么好的教程网站有类似的例子 提前感谢:) 卢克。听起来你需要这样的东西 Public Function GetEventsByIndividual(ByVal individual As Individual) As IEnumerable(Of Event) Return

我在一个数据库中有3个表:

我在网上搜索了很长一段时间,试图了解如何在linq和vb.net中进行查询,以访问事件表和个人表,例如显示个人1参与ect的所有事件。我想知道是否有人能给我指出正确的方向,或者知道有什么好的教程网站有类似的例子

提前感谢:)
卢克。

听起来你需要这样的东西

Public Function GetEventsByIndividual(ByVal individual As Individual) As IEnumerable(Of Event)

    Return individual.IndividualTakingParts _
                     .SelectMany(Function(itp) itp.Events)

End Function

IndividualTakingPart
表中“启动”查询

Dim Events = From itp in context.IndividualTakingPart _
             Where itp.Individual_id = 1 _
             Select itp.Events
更新(回应以下评论)


您需要在联接表上有一个主键,以启用与其他表的关联。

这将是完美的,但是。Select不是单个类的一部分:/出于某种原因,它说individualTakingPart不是单个表的一部分。我想知道我的关系现在是否正确?它选择了itp.Events(它发送的事件)只能访问事件表中各个TakingParts中的IDtable@Houlahan-检查您的datacontext是否已正确创建。您应该可以从IndividualTakingPart访问Individual和Events表。就我所看到的设置是否正确而言,我认为上下文可以定义为Dim db as New SailMembersDataContext?@Houlahan-是的。查看
sailmembersdataclass.designer.vb
文件(隐藏在
dbml
文件下)。查找
IndividualTakingPart
类。应该有两个
将该表链接到其他表。您看到了吗?另外,您应该向IndividualTakingPart表添加一个主键—无论是它的另一个id列还是包含两个现有外键的复合键。不确定这是否会修复关联,但值得一试。