0

我想做这样的事情LINQ

select t1.vendor, t1.location 
from t1, t2
where t1.vendor = t2.vendor and t1.location = t2.location 

但是 t2 不是一个表,它是一个data filter object我正在考虑创建以包含如下数据的表。

  ┌──────────┬───────────┬
  │  Vendor  |  location │
  ├──────────┬───────────|
  |    v1    |     100   |
  |    v1    |     102   |
  |    v1    |     103   |
  |    v2    |     100   |
  |    v3    |     203   |
  ├──────────────────────┼

我的问题是:包含这些过滤器数据并使用它来查询表 t1 的最佳数据结构是什么SQL Server?由于供应商到位置是一对多的关系,我不能使用字典或哈希表。NameValueCollection不是泛型类型。此外,LINQ从 ? 检索数据的语法应该如何SQL Server?请帮忙!

谢谢!温迪

4

1 回答 1

0

您可以尝试为您的 t2 使用匿名类型;像这样的东西:

var t2 = from xx in context.SomeTable
select new {Vendor = xx.v, Location = xx.l};

然后您可以在下一个查询中使用 t2。

例子:

var result = from t1 in context.T1
              from tt in t2
              where t1.vendor = tt.vendor && t1.location = tt.location 
             select new {t1.vendor, t1.location }

或者你可以加入 t1 和 t2

于 2013-01-25T03:33:01.873 回答