【问题标题】:Lambda Expression: How to select from two non-related tables with one queryLambda 表达式:如何通过一个查询从两个不相关的表中进行选择
【发布时间】:2012-03-13 19:13:59
【问题描述】:

你能帮我用 lambda 表达式重写这个查询语法吗?

(From Entity.Apple a in db.Context.Apples
From Entity.Bikini b in db.Context.Bikinis
Where a.Id== 10
Where b.Id== 15
Select new {NaturalColor: a.Color, FavoriteColor: b.Color }).FirstOrDefault();

我试图找到两个不相关的表的特定记录,只有一个连接。在我的示例中,下一步可能是这样的:

FindColorDiffrent(Naturalcolor, FavoriteColor){}

【问题讨论】:

  • 两个表之间有外键吗?
  • 一点也不!苹果和比基尼没有关系!
  • 那么您希望 linq 如何加入 2 个表?您需要在第一行和第二行之间指定一个连接和连接条件。

标签: c#-4.0 entity-framework-4 lambda linq-to-entities


【解决方案1】:
db.Context.Apples
  .SelectMany(a => db.Context.Bikinis, (a, b) => new {a, b})
  .Where(x => x.a.Id == 10)
  .Where(x => x.b.Id == 15)
  .Select(x => new {NaturalColor: x.a.Color, FavoriteColor: x.b.Color })
  .FirstOrDefault();

【讨论】:

  • 非常感谢乔纳斯!我帮忙!
猜你喜欢
  • 2022-01-24
  • 2020-06-24
  • 2015-02-12
  • 1970-01-01
  • 2012-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-16
相关资源
最近更新 更多