У меня есть следующий метод, который возвращает список заводских автомобилей.
Это работает, но порядок неправильный.
CarEngines может иметь идентификатор заказа, и я хочу сделать заказ по нему.
Глядя на другие ответы здесь, я вижу, что вы не можете сделать заказ внутри запроса, и вы должны сделать это позже.
Проблема в том, что я не могу получить доступ к CarEngines
, как вы можете видеть ниже:
public async Task<ActionResult<CountryList>> GetCountryCarObject(Guid countryID)
{
var factoryCars = await _context.CountryList
.Include(n => n.CarList).ThenInclude(l => l.CarEngines)
.Include(n => n.CarList).ThenInclude(l => l.CarOptions)
.SingleOrDefaultAsync(c => c.CountryId == countryID);
factoryCars.CarList.CarEngines <== CarEngines doesn't show up in CarList object
return factoryCars;
}
Это говорит мне, что CarList не содержит определения для CarEngines.
Но это в моей модели CarList, я определил это так:
public CarList()
{
CarEngines = new HashSet<CarEngines>();
}
public virtual ICollection<CarEngines> CarEngines { get; set; }
Вот две модели:
public partial class CarList
{
public CarList()
{
CarEngines = new HashSet<CarEngines>();
CarOptions = new HashSet<CarOptions>();
}
public string CarId { get; set; }
public string CarMake { get; set; }
public string CarModel { get; set; }
public Guid? CarCountryId { get; set; }
public virtual ICollection<CarEngines> CarEngines { get; set; }
public ICollection<CarOptions> CarOptions { get; set; }
}
public partial class CountryList
{
public CountryList()
{
CarList = new HashSet<CarList>();
}
[Key]
public Guid CountryId { get; set; }
public string CountryName { get; set; }
public string CountryLocation { get; set; }
public string CountryDesc { get; set; }
public virtual ICollection<CarList> CarList { get; set; }
}
Так что я не уверен, что он его не видит.
Есть ли способ заставить это работать?
Спасибо!
factoryCars.CarList.Select( x=>x.CarEngines)
вместо строкиThenInclude
или поместить ее под ней? Спасибо! 07.10.2020Table
, чтобы безопасно переименовывать классы. 07.10.2020