[英]Selecting in LINQ based on value in navigation property value
我有各种类别的车辆清单。
public IList<Vehicle> GetAllByCat(int compId, short catId)
{
var _vehicles = Context.Vehicle
.Where(i =>
i.CompanyId == compId &&
i.VehicleCategories.Any(o => o.VehicleCategoryId == catId))
.ToList();
return _vehicles;
}
但是它返回null(并且我在调试中得到了一个文本,说明_vehicles
在当前上下文中不存在)
我已经广泛搜索了答案,但是没有找到任何帮助。 任何想法?
您必须先获取VehicleCategories,然后才能对其使用Any
方法。 因此一种方法是使用即时加载功能获取相关类别,然后在其中进行搜索。
public IList<Vehicle> GetAllByCat(int compId, short catId)
{
var _vehicles = Context.Vehicle
.Include(x => x.VehicleCategories)
.Where(i =>
i.CompanyId == compId &&
i.VehicleCategories.Any(o => o.VehicleCategoryId == catId))
.ToList();
return _vehicles;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.