Estoy bromeando tratando de aprender los detalles de LINQ. Quiero convertir la siguiente consulta (que funciona correctamente) de la sintaxis de la consulta a la sintaxis del método, pero parece que no puedo hacerlo bien. ¿Alguien puede mostrarme la forma correcta de lograr eso?Cómo convertir la sintaxis de la consulta en la sintaxis del método
var logQuery = from entry in xDoc.Descendants("logentry")
where (entry.Element("author").Value.ToLower().Contains(matchText) ||
entry.Element("msg").Value.ToLower().Contains(matchText) ||
entry.Element("paths").Value.ToLower().Contains(matchText) ||
entry.Element("revision").Value.ToLower().Contains(matchText))
select new
{
Revision = entry.Attribute("revision").Value,
Author = entry.Element("author").Value,
CR = LogFormatter.FormatCR(entry.Element("msg").Value),
Date = LogFormatter.FormatDate(entry.Element("date").Value),
Message = LogFormatter.FormatComment(entry.Element("msg").Value),
ET = LogFormatter.FormatET(entry.Element("msg").Value),
MergeFrom = LogFormatter.FormatMergeFrom(entry.Element("msg").Value),
MergeTo = LogFormatter.FormatMergeTo(entry.Element("msg").Value)
};
Para información, los últimos capítulos de "C# en profundidad" cubren esta área lujo de detalles . –
La especificación C# 3.0 está disponible en Internet; describe las reglas de transformación sintáctica en gran detalle. –