不能在我的linq到sql查询中使用实体集



当我尝试查询数据库以检索选定船员的活动时,我给出"Loca Sequence Error"

这是代码:

private Lst_active as new entityset(of Activity)   
private crw_list as new entityset(of Crew)
checklistbox.Items.addrange(Dbase.Crew)

然后我在复选框中从所有船员中选择,并将选中的船员插入到船员的实体集中以供进一步使用。

crw_list.addrange(Checkedlistbox.checkeditems)
Lst_active.AddRange(From x In DBase.Stored_Activities Join z In crw_list On x.EMP_NO  Equals z.EMP_NO
                    Select x)

有别的办法吗?还是我做错了?

你还没有说你的模型看起来像什么,但以下概念应该工作:

Dim active = (From x In DBase.Stored_Activities
              Join z In DBase.Stored_Crews On x.EMP_NO  Equals z.EMP_NO
              Select x).ToList()

如果您有一个本地内存集合,并且您需要的项与该集合中的一个字段匹配,则使用Contains代替:

From x in DBase.StoredActivities
Where localList.Contains(x.EMP_NO)
select x

你的列表应该只包含连接列*,在这种情况下应该由crw_list.Select(Function(x) x.EMP_NO)

我找到了解决方案,只是把查询的两个部分调换了位置。

     From z In crw_list Join x In DBase.Stored_Activities  On x.EMP_NO  Equals z.EMP_NO
                Select x

它将查询从linq到SQL更改为linq到对象,其中包含SQL连接查询

相关内容

  • 没有找到相关文章

最新更新