从linq查询返回对象图
我有一辆从linq查询返回对象图,linq,entity-framework-core,entity-framework-core-5,Linq,Entity Framework Core,Entity Framework Core 5,我有一辆汽车型号: public class Vehicle { [Key] public int ID { get; set; } public string Title { get; set; } ... public IEnumerable<VehiclePolicy> Policies { get; set; } } public class VehiclePolicy { [Key] public int Id {
汽车
型号:
public class Vehicle
{
[Key]
public int ID { get; set; }
public string Title { get; set; }
...
public IEnumerable<VehiclePolicy> Policies { get; set; }
}
public class VehiclePolicy
{
[Key]
public int Id { get; set; }
public int VehicleID { get; set; }
public Vehicle Vehicle { get; set; }
public DateTime EffectiveFrom { get; set; }
public DateTime? EffectiveTo { get; set; }
}
以及EF核心5数据集:
public virtual DbSet<Vehicle> Vehicles { get; set; }
public virtual DbSet<VehiclePolicy> VehiclePolicies { get; set; }
是否有更简单的方法返回
车辆
图形,而不必“手动”合成它?实际上正是出于此目的,我们引入了包括:
var query=context.Vehicles
.包括(v=>v.政策)
.OrderBy(v=>v.Title);
from v in _context.Vehicles
join vp in _context.VehiclePolicies on v.ID equals vp.VehicleID into vvp
from vehiclePolicy in vvp.DefaultIfEmpty()
orderby v.Title
select new Vehicle
{
ID = v.ID,
Title = v.Title,
...
Policies = vehiclePolicy
}