私は現在、以下を含むリストを持っています
CountryCode (string)
CountryStr (string)
RegionStr (string)
RegionID (int)
AreaStr (string)
AreaID (int)
これは、リンクされたデータのフラット化されたセットです (つまり、基本的には保存された結合検索の結果です)
MVC ルートは 1 つの文字列のみを渡し、それを階層内の適切なレベルのデータに一致させる必要があります。したがって、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();
現時点でこれを行う唯一の方法は、各クエリを個別に実行し、返された値を確認してその値を使用することです。より賢く、よりクリーンな方法があることを願っています。