Вместо этого вы можете попробовать что-то вроде этого:
var prices = await (
from price in _context.VoucherPrices
where provider.Id == ProviderKey
select new Prices
{
Provider = price.Provider.Name,
PassengerType = price.PassengerType.Description,
Type = price.Type.Description,
Price = price.Price
}
).ToListAsync();
Это просто использование свойств навигации вместо ручных соединений. Вам просто нужно быть осторожным, чтобы записи были связаны с внешними ключами (или вместо этого выполняйте null
проверки), например:
Provider = price.Provider != default ? price.Provider.Name : default,
PassengerType = price.PassengerType != default ? price.PassengerType.Description : default,
Type = price.Type != default ? price.Type.Description : default