C# 具有指示一对多关系计数的属性的实体框架模型

C# 具有指示一对多关系计数的属性的实体框架模型,c#,entity-framework,code-first,C#,Entity Framework,Code First,假设我有以下代码优先EF模型: public class Truck { public ICollection<Tire> Tires { get; set; } } 公共类卡车{public i收集轮胎{get;set;} 如何创建由数据库根据卡车是否有轮胎计算的属性Hastinres?我的目标是,在不装载轮胎对象的情况下,能够确定卡车是否至少有一个轮胎 我试图避免向数据库中添加我必须管理的列 编辑:我还应该指出,我需要取回一批卡车,可能是100辆或1000辆。你可以得到至少有

假设我有以下代码优先EF模型:

public class Truck { public ICollection<Tire> Tires { get; set; } }
公共类卡车{public i收集轮胎{get;set;}
如何创建由数据库根据卡车是否有轮胎计算的属性Hastinres?我的目标是,在不装载轮胎对象的情况下,能够确定卡车是否至少有一个轮胎

我试图避免向数据库中添加我必须管理的列


编辑:我还应该指出,我需要取回一批卡车,可能是100辆或1000辆。

你可以得到至少有一个轮胎的整辆卡车,就像这样

var TrucksWithAtLeastOneTire = context.Trucks.Where(g=> g.Tires.Count() > 0);
或者只是检查特定卡车是否至少有一个轮胎:

private bool TruckHasTire(int truckId) {
  return context.Trucks.Any(g=> g.Id == TruckId && g.Tires.Count() > 0);
}

你也可以试试这个

在这种情况下,您可以使用
Any
,而不是
Count

这将只取一个轮胎的
卡车

或者您可以投影
卡车和轮胎

var TruckAndTires = context.Trucks
                           .Where(g=> g.Tires.Any())
                           .Select(trk=>
                           {
                              truck = trk,
                              tires = trk.Tires,   
                           }.ToList();

对不起,我忘了补充一点,我需要取回一批卡车,不管他们是否有轮胎,但作为这一部分,我需要知道每个实体是否有轮胎。在某些情况下,我可能需要100或1000秒。
var TrucksWithAtLeastOneTire = context.Trucks.Where(g=> g.Tires.Any());
var TruckAndTires = context.Trucks
                           .Where(g=> g.Tires.Any())
                           .Select(trk=>
                           {
                              truck = trk,
                              tires = trk.Tires,   
                           }.ToList();