Как упоминал Ладислав, Include
работает только в том случае, если вы выбираете объект Ticket
напрямую.Поскольку вы проецируете другую информацию, Include
игнорируется.
Это должно обеспечить хороший обходной путь:
var data = ctx.Set<Ticket>()
.Select(p => new
{
Ticket = p,
Clients = p.Client,
LastReplyDate = p.Replies.Max(q => q.DateCreated)
});
Прежде всего, клиенты Клиента будут доступнынепосредственно из свойства Clients
анонимного типа.Более того, Entity Framework должен быть достаточно умен, чтобы признать, что вы извлекли всю коллекцию Client
для каждого Ticket
, поэтому вызов .Ticket.Client
также должен работать.