Вы должны использовать что-то вроде этого:
var data = ctx.RatedPrices.Select(p => new { p.Code, p.Price })
.Concat(ctx.DailyPrices.Select(p => new { p.Code, p.Price })
.Contact(ctx.UtilizePrices.Select(p => new { p.Code, p.Price }))
.OrderBy(p => p.Code);
Платформа сущностей и linq-to-entity не знают, что такое интерфейс.Вы должны использовать проекцию на некоторый не сопоставленный тип (анонимный в примере) и иметь дело с результатом.Поскольку вы не используете наследование сущностей от некоторого базового Price
(в противном случае вам это не понадобится), вы не можете ожидать, что EF вернет вам экземпляры RetedPrice
, DailyPrice
и UtilizePrice
в одном наборе результатов.