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();
我有两个模型:
地点
- 编号
- 设施助记符
- 姓名
设施
- 编号
- 设施助记符
- 姓名
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();