Dotnet Entity Framework 包含没有外键

Dotnet Entity Framework Include without a Foreign Key

我有两个模型:

地点

设施

Location 的 FacilityMnemonic 可以为空。该位置可能有一个没有设施的设施助记符。我需要一种方法来构建这些实体,以便我可以执行某种形式的

_context.Locations.Where(CONDITIONS HERE).Include("Facility").ToList();

然后能够将其打包为我的网站 json 的良好响应 API。但是,我不能使用外键,因为如果助记符没有匹配功能,约束就会失败。无法确定使用 entity framework 执行此操作的正确方法。任何指导表示赞赏。

您不能在 SQL 服务器中使用没有关系的包含。

您可以改用这个

var list = (from a in _context.Location.Where(CONDITIONS HERE) 
            from b in _context.Facility.Where(CONDITIONS HERE related to Location).DefaultOrEmpty()
            select new Location() {
                Id = a.Id,
                Name = a.Name,
                Facilities = b
            }).ToList();