在C#中的LINQ中执行JOIN

本文关键字:执行 JOIN LINQ 中的 | 更新日期: 2023-09-27 18:25:26

我正在编写一些具有一些实体的C#。我的实体是:

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

我需要做一个LINQ查询,为我提供某个城市的所有商店。目前,我有:

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

这个代码显然不起作用。加入存储不存在。但是,由于Store也必须访问数据库,我不知道该怎么办。我很感激你能提供的任何帮助。

在C#中的LINQ中执行JOIN

您可以在LINQ中进行联接,这非常简单:

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