相关表上的BindingSource过滤器

时间:2015-08-01 20:03:10

标签: sql-server vb.net winforms

我在SQL Server 2014中使用vb.net WinForms。我有一个包含各种文本框和复选框的表单,我使用BindingSource从数据库中填充。具有相关信息的两个表称为通道和设置。设置可以有多个通道,而通道属于一个设置。在设置表中,我有一个名为CurrentSetup的字段,用一个位表示有效的设置。我只需要显示属于活动设置的频道的信息。我尝试在BindingSource上放置“CurrentSetup ='True'”,但这似乎不起作用,因为我的所有数据都来自ChannelBindingSource,它只能从Setup表中读取外键(Setup_id),但不能看来,访问表的其余部分。

总而言之,我的问题是如何根据相关表格中的字段过滤BindingSource?

我要补充说我正在使用Entity Framework(6),而且我已经读过BindingSources甚至不是推荐的方法来做到这一点,但它是我发现的唯一的东西似乎到目前为止工作。如果我偏离这个基础,并且应该做其他事情,我也会对此持开放态度。我仍然在当前(VS 2013)Microsoft文档中找到BindingSources。

1 个答案:

答案 0 :(得分:1)

如果您正在使用EF,那么您应该只使用LINQ to Entities获取所需的数据。它会是这样的:

Dim currentChannels = context.Channels.Where(Function(c) c.Setup.CurrentSetup)

然后,它会为您提供与Channel设置为Setup的{​​{1}}相关的所有CurrentSetup个实体的列表。

相关问题