Ich muss unter 2 LINQ Aussagen. Sie geben beide (scheinbar) die gleiche Ergebnismenge zurück. Kann mir jemand erklären, warum ich einen Weg gegen den anderen benutzen sollte? Ist es so einfach wie "You say potato, I say potato; you say tomato, I say tomato"?LINQ, sollte ich oder verschachtelte SELECT NEW's
Hier sind die zwei Arten von LINQ ->
1) Die beiden lets
unten an private Methoden sind, die eine ID nehmen und den Namen zurück.
var business = from businesse in context.tblBusinesses
where businesse.BusinessID == businessID
join addresse in context.tblAddresses on businesse.BusinessID equals addresse.BusinessID
let stateName = GetStateNameByID(addresse.StateID)
let countyName = GetCountyNameByID(addresse.CountyID)
select new
{
businesse.BusinessName,
businesse.ContactName,
businesse.EmailAddress,
addresse.AddressLine1,
addresse.AddressLine2,
addresse.AddressLine3,
addresse.CityName,
State = stateName,
addresse.ZipCode,
addresse.ZipPlus,
County = countyName
};
2)
var query = from businesse in context.tblBusinesses
where businesse.BusinessID == businessID
select new
{
businesse.BusinessName,
businesse.ContactName,
businesse.EmailAddress,
Address = from addresse in businesse.tblAddresses
select new
{
addresse.AddressLine1,
addresse.AddressLine2,
addresse.AddressLine3,
addresse.CityName,
State = addresse.StateID,
addresse.ZipCode,
addresse.ZipPlus,
County = addresse.tblAdminCounty
}
};
"Bist du sicher, dass sie dasselbe Ergebnis liefern?" - Ich denke, als ich sagte, dass ich meinte, dass die Felder den gleichen Wert haben (dh Zustand = CA in beiden), muss ich darüber nachdenken, um zu verstehen, ob die Eigenschaften einen Unterschied darin machen, wie ich sie für mich benutze. –