hey all. Juste vouloir savoir est-ce la manière la plus efficace d'obtenir des valeurs d'un db: donné;linq-to-sql est-ce le code le plus efficace?
----------- --------------- -------------
| Channel | |Issue | |Topic |
| path(ck)| |channelID(fk)| |issueID(fk)|
----------- --------------- -------------
- Un canal a beaucoup de questions
- Une question a de nombreux sujets chemin
- est une clé alternative
J'ai écrit la statment LINQ suivante.
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();
Je veux obtenir (travailler en arrière ici) tous les sujets liés à la dernière édition (issue_created) qui est configurée pour être publique (issue_isVisible) dudit canal.
Est-ce le moyen le plus efficace ou existe-t-il une méthode plus rapide que celle-ci?
Une sous-requête est répétée deux fois. Peut-être serait-il un peu plus facile de comprendre si cela faisait l'objet d'une déclaration distincte. Cela n'entraînera toujours pas de voyage supplémentaire dans la base de données. – Tarydon