Tôi bắt đầu sử dụng LINQ nói chung (cho đến nay toXML và toSQL). Tôi đã thấy rằng đôi khi có hai hoặc nhiều cách để đạt được kết quả tương tự. Hãy ví dụ đơn giản này, theo như tôi hiểu cả hai quay trở lại chính xác những điều tương tự:LINQ: Ký hiệu Dot và Biểu thức truy vấn
SomeDataContext dc = new SomeDataContext();
var queue = from q in dc.SomeTable
where q.SomeDate <= DateTime.Now && q.Locked != true
orderby (q.Priority, q.TimeCreated)
select q;
var queue2 = dc.SomeTable
.Where(q => q.SomeDate <= DateTime.Now && q.Locked != true)
.OrderBy(q => q.Priority)
.ThenBy(q => q.TimeCreated);
Bên cạnh bất kỳ sai lầm tôi có thể đã được thực hiện trong cú pháp hoặc một tham số thiếu hoặc khác biệt, ý tưởng là có hai cách để thể hiện cùng một điều; Tôi hiểu rằng phương pháp đầu tiên có một số hạn chế và rằng "ký hiệu chấm" hoàn chỉnh hơn, nhưng bên cạnh đó, có bất kỳ lợi thế nào khác không?
Cảm ơn mọi người đã trả lời. Than ôi, tôi chỉ có thể đánh dấu một câu trả lời đúng. Nhưng tôi đánh giá cao tất cả các ý kiến. –
Nhân bản: http://stackoverflow.com/questions/214500/which-linq-syntax-do-you-prefer-fluent-or-query-expression – Mikhail