1. ホーム
  2. c#

Entity Framework 内部結合のためのクエリ

2023-10-26 13:09:23

質問

何のためのクエリでしょうか。

select s.* from Service s 
inner join ServiceAssignment sa on sa.ServiceId = s.Id
where  sa.LocationId = 1

エンティティフレームワークで?

これは私が書いたものです。

 var serv = (from s in db.Services
                join sl in Location on s.id equals sl.id
                where sl.id = s.id
                select s).ToList();

が、間違っています。どなたか道を教えていただけませんか?

どのように解決するのですか?

from s in db.Services
join sa in db.ServiceAssignments on s.Id equals sa.ServiceId
where sa.LocationId == 1
select s

ここで db はあなたの DbContext . 生成されたクエリは以下のようになります(EF6用サンプル)。

SELECT [Extent1].[Id] AS [Id]
       -- other fields from Services table
FROM [dbo].[Services] AS [Extent1]
INNER JOIN [dbo].[ServiceAssignments] AS [Extent2]
    ON [Extent1].[Id] = [Extent2].[ServiceId]
WHERE [Extent2].[LocationId] = 1