Я создаю веб-API, который, как предполагается, заполняет данные из связанной дочерней таблицы с помощью предложения where. Я попытался использовать include() с where() в соответствии с загрузкой, но без успеха.Извлечение сущностей со связанными таблицами C# с использованием REST API2
public IQueryable<Market> getAllActive()
{
return db.Markets.Where(c => c.IsActive == true).Include(d => d.TravelCentres.Where(e => e.IsActive == true));
}
На исследования, есть рекомендации, которые я использую явную загрузку, но он держит ошибку о необходимости бросить тип данных. На данный момент я потерял идеи и буду признателен за любую помощь. Вот мой код:
private TravelCentresDbContext db = new TravelCentresDbContext();
public IQueryable<Market> getAllActive()
{
//return db.Markets.Where(c => c.IsActive == true).Include(d => d.TravelCentres);
var result = db.Markets
.Where(c => c.IsActive == true)
.Select(p => new
{
Market = p.MarketId,
TravelCentres = p.TravelCentres.Where(x => x.IsActive == true)
});
return (IQueryable<Market>)result;
}
Я получаю сообщение об исключении Невозможно привести объект типа «System.Data.Entity.Infrastructure.DbQuery
1[<>f__AnonymousType4
2 [System.String, System.Collections.Generic.IEnumerable1[TravelCentres.Models.TravelCentre]]]' to type 'System.Linq.IQueryable
1 [TravelCentres.Models.Market] '.Blockquote
Большое спасибо. Это сработало – Caesar