Я совершенно не знаком с Linq, и мне интересно, можете ли вы помочь мне понять разницу между следующим Linq? Например ...
//normal select
var contacts = entity.Contacts.Select(n => n.FirstName);
//select new
var contacts2 = entity.Contacts.Select(n => new { n.FirstName });
//normal select output
foreach (var c in contacts)
Response.Write(c + "<br/>");
//select new output
foreach (var c in contacts2)
Response.Write(c.FirstName + "<br/>");
Единственное различие, которое я вижу, заключается в том, что при обычном выборе имя (строка) сохраняется в коллекции, тогда как при выборе нового контактный объект сохраняется в collecton и первое имя, к которому обращается его свойство. Также select new возвращает свойства, только выбранные в операторе.
Еще одно различие, которое я заметил, заключается в том, что вы можете возвращать несколько определенных свойств в select new.
В каком сценарии будет вы предпочитаете одно другому?
Спасибо за помощь.