简体   繁体   English

在C#中的LINQ中执行JOIN

[英]Performing a JOIN in LINQ in C#

I am writing some C# that has some entities. 我正在写一些具有某些实体的C#。 My entities are: 我的实体是:

Address        Store
-------        -----
ID             ID
StreetAddress  AddressID
City           Name
State

I need to do a LINQ query that gives me all of the stores for a certain city. 我需要执行LINQ查询,以便为我提供某个城市的所有商店。 Currently, I have: 目前,我有:

var addresses = await Address.GetFromDatabase();
var results = address in addresses
              where (address.City == 'Seattle')
              select new
              {
                StoreID = store.ID
                StoreAddress = address.StreetAddress
              }

This code obviously does not work. 此代码显然不起作用。 The join to Store does not exist. 与商店的联接不存在。 However, because Store must also hit the database, I'm not sure what to do. 但是,由于Store也必须访问数据库,因此我不确定该怎么做。 I appreciate any help you can give. 感谢您提供的任何帮助。

You can do joins in LINQ and it's pretty straightforward: 您可以在LINQ中进行联接,这非常简单:

var results = from address in addresses
              join store in stores
              on address.ID equals store.AddressID
              where (address.City == 'Seattle')
              select store;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM