使用LINQ根据关联列表中的值从列表中选择值

使用LINQ根据关联列表中的值从列表中选择值,linq,join,Linq,Join,我有一个模型,包括一组单元。每个单元都有一组数字。我正在编写一个提供程序方法,该方法返回包含任何给定数字的单元列表 查询涉及两个表:Units表和NumberUnits表。NumberUnits表将单位链接到数字(但因为我们已经知道所需的数字,所以我们对它们不感兴趣) 我目前有: var a = (from units in DataProvider.Units join numUnits in DataProvider.NumberUnits on units.Id equals n

我有一个模型,包括一组单元。每个单元都有一组数字。我正在编写一个提供程序方法,该方法返回包含任何给定数字的单元列表

查询涉及两个表:
Units
表和
NumberUnits
表。
NumberUnits
表将
单位
链接到
数字
(但因为我们已经知道所需的数字,所以我们对它们不感兴趣)

我目前有:

var a =  (from units in DataProvider.Units
    join numUnits in DataProvider.NumberUnits on units.Id equals numUnits.Unit
    where numbers.Contains(numUnits.Number)
    select units);
其中
numbers
是我们正在搜索的数字列表。我想返回任何在数字列表中有
numberrunit
Unit
,但这不会返回任何内容


有什么想法吗?

看起来我只是个白痴。这很好,结果是我有一些数据问题,而我的单位中有很大一部分应该在NumberInits表中有条目,却没有。你能发布一些示例数据吗?看起来你所拥有的应该有用…Unit和NumberUnit表相当大,但我会举个例子。假设我们有A、B和C单元。A单元有数字11和12,通过数字输入附加到它,B单元有12和13,C单元有13和14。如果“数字”包含数字11和12,则查询应返回单位A和B,但不返回单位C。