У меня есть сущность MessageThread, которая содержит сущности Message. Внешний ключ настроен так, что я могу легко перейти от MessageThread ко всем сообщениям. Каждое сообщение имеет адрес отправителя и адрес. Я хочу написать запрос для извлечения всех потоков сообщений, для которых конкретный адрес написал или получил сообщение.
MessageThread
{
EntityCollection<Message> messages;
}
Message
{
long FromAccount;
long ToAccount;
}
Запрос должен быть примерно таким, но я не могу понять, как полностью перейти к адресам «От» и «От» из класса MessageThread
.
public IQueryable<MessageThread> GetMessageThreads(long userAccount)
{
return from messageThread in this.ObjectContext.MessageThreads
where messageThread.Messages.ToAddress == userAccount ||
messageThread.Messages.FromAddress == userAccount
select messageThread;
}
Этот запрос не будет работать, потому что messageThread.Messages - это коллекция, а ToAddress
и FromAddress
не доступны напрямую из коллекции.