Привет всем. Просто хочу узнать, является ли это наиболее эффективным способом получения значений из базы данных: дано;
----------- --------------- -------------
| Channel | |Issue | |Topic |
| path(ck)| |channelID(fk)| |issueID(fk)|
----------- --------------- -------------
- Один канал имеет много проблем
- В одном выпуске много тем
- путь - альтернативный ключ
Я написал следующее заявление linq.
var content = (from c in db.Channels
where c.channel_holding_page == path
select new { c, _latestIssue = c.Issues.OrderBy(i => i.issue_created).Where(i => i.issue_isVisible == true).FirstOrDefault(), _topics = c.Issues.OrderBy(i => i.issue_created).Where(i => i.issue_isVisible == true).FirstOrDefault().Topics }).FirstOrDefault();
Я хочу получить (работая в обратном направлении) все темы, связанные с последней проблемой (issue_created), которая установлена как общедоступная (issue_isVisible), с указанного канала.
Это самый эффективный способ или есть способ, который был бы быстрее, чем этот.