내가 현재이 포함 된 목록이있는 경우 수행하는 방법이 링크 된 데이터의 평탄화 세트 (저장 필자 조인 검색 이렇게 기본적으로 결과)문 Linq에에 쿼리
입니다CountryCode (string)
CountryStr (string)
RegionStr (string)
RegionID (int)
AreaStr (string)
AreaID (int)
다음
MVC 라우트는 하나의 문자열만을 전달할 것이고, 그 다음 나는 heirachy의 올바른 레벨의 데이터와 일치해야합니다. 그래서 CountryStr을 쿼리하려고하는데 결과가 영역이 아니라면 영역을 생성합니다. 하지만 난
var datURL = (from xs in myList
//query 1
where xs.RegionStr == rarREF
select new
{
regionID = xs.RegionId,
CountryID = xs.CountryCd
}
//IF theres no results
where xs.AreaStr == rarREF
select new
{
AreaID = xs.AreaID
regionID = xs.RegionId,
CountryID = xs.CountryCd
}
).ToList();
내가 지금이 일을 볼 수있는 유일한 방법
다음 개별적으로 각 쿼리를 실행 값을 반환하는 확인하고 그 중 하나를 사용 ... 쿼리 및 예를 들어 그 비트를 할 필요가있다. 더 깨끗하고 깨끗한 방법이 있기를 바랍니다.
çağdaş와 같이 default (int)를 null로 바꿔주는 것은 Id가하는 일을하는 것처럼 보입니다. 그렇다면 WhereStatement는 결과가 없다면 AreaStr을 시도한 것으로 생각합니다. 그걸로 나는 더 쉽게 추가 할 수 있다고 생각합니다 : op –
Region 문자열이 영역 문자열과 결코 일치하지 않을 것이라고 가정하고 있습니다. 그래서 Where는 지역이 일치하는 목록 항목을 반환하거나 Area 성냥. 그런 다음 select에서 영역 또는 지역인지 다시 확인합니다. 읽기 쉬운 버전으로 편집하겠습니다. – dahlbyk
나는이 linq 종달새로 얻을 수있는 것에 매우 깊은 인상을 받았습니다. 꽤 달콤한. 도움 주셔서 감사합니다. –