Udover at nyde det godt vejr i påsken har jeg brugt de sene aftener på at kode. Det har været forryggende og jeg har savnet at få noget kode fra hånden.
Jeg stødte midlertidigt på et problem som jeg mildest talt ikke har været ude for før. Selvom problemet var nemt at komme udenom efterlod kernen af problemet stadig en del tanker tilbage i mit hovede.
Måske kan en af jer svare på hvorfor det ene performere bedre end det andet.
Med var
var result = from p in _context.ForumMessages
where p.PrevRef == 0
orderby p.TimeStamp descending
select new ForumMessageCount {
ForumMessageId = p.ID,
ForumSubject = p.Subject,
Content = p.Message,
Author = p.Email,
TimeStamp = p.TimeStamp,
AnswerCount = ( from o in _context.ForumMessages
where o.TopID == p.ID && o.PrevRef > 0
select o ).Count(),
LastAnswer = ( from q in _context.ForumMessages
where q.TopID == p.ID && q.PrevRef > 0
orderby q.ID descending
select new ForumMessageCount() {
ForumMessageId = q.ID,
ForumSubject = q.Subject,
TimeStamp = q.TimeStamp,
Content = q.Message,
Author = q.Email,
} ).Take( 1 ).SingleOrDefault()
};
Uden var
IEnumerable<ForumMessageCount> result = from p in _context.ForumMessages
where p.PrevRef == 0
orderby p.TimeStamp descending
select new ForumMessageCount {
ForumMessageId = p.ID,
ForumSubject = p.Subject,
Content = p.Message,
Author = p.Email,
TimeStamp = p.TimeStamp,
AnswerCount = ( from o in _context.ForumMessages
where o.TopID == p.ID && o.PrevRef > 0
select o ).Count(),
LastAnswer = ( from q in _context.ForumMessages
where q.TopID == p.ID && q.PrevRef > 0
orderby q.ID descending
select new ForumMessageCount() {
ForumMessageId = q.ID,
ForumSubject = q.Subject,
TimeStamp = q.TimeStamp,
Content = q.Message,
Author = q.Email,
} ).Take( 1 ).SingleOrDefault()
};