2 개의 LINQ 문 미만이어야합니다. 둘 다 (겉으로보기에) 동일한 결과 집합을 반환합니다. 누구든지 내가 왜 한 방향으로 다른 방향을 사용해야하는지 설명 할 수 있습니까? "You say potato, I say potato; you say tomato, I say tomato"처럼 간단합니까? >LINQ, 중첩 된 SELECT에 가입하거나 사용해야합니까?
1) 두 lets
아래 ID를 가지고 이름을 반환한다 전용 방법 - 여기서
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
}
};
"같은 결과가 나옵니까?" - 필드가 동일한 가치 (즉, 둘 다 State = CA)를 가졌다 고 말했을 때, 속성을 사용하는 방식에 차이가 있는지를 이해해야합니다. –