1
public class Translation
{
public string LanguageCode { get; set; }
public string Value { get; set; }
}
public class tblEnumJobFunction
{
public string strEnum { get; set; }
public List<Translation> mlgValue { get; set; } //mlgValue->MultiLingualValue
}
我有一個List<tblEnumJobFunction> JobFunctionList
與一些數據。鏈Lambda Linq
示例數據:
JobFunctionList[0].strEnum="ENUM_Manager";
JobFunctionList[0].mlgValue[0].LanguageCode ="EN";
JobFunctionList[0].mlgValue[0].Value="Manager";
JobFunctionList[0].mlgValue[1].LanguageCode ="DE";
JobFunctionList[0].mlgValue[1].Value="Geschäftsführer";
JobFunctionList[1].strEnum="ENUM_Student";
JobFunctionList[1].mlgValue[0].LanguageCode ="EN";
JobFunctionList[1].mlgValue[0].Value="Student";
JobFunctionList[1].mlgValue[1].LanguageCode ="DE";
JobFunctionList[1].mlgValue[1].Value="Schüler";
我可以給國家代碼使用LINQ篩選列表和高興。
問題是我該如何在lambda中使用List/Collection擴展來編寫與下面的等價查詢語法?
這是一個級聯/鏈查詢;查看另一個列表中的列表。
此查詢語法工作正常。
string CountryCode ="EN";
var Query = from jobfunction in JobFunctionList
from translation in jobfunction.mlgValue
where translation.LanguageCode == CountryCode //'EN'
select translation;
結果是;
List<string> JobList;
foreach (var translationitem in Query)
{
JobList.Add(translationitem .Value);
}
現在我有
JobList[0]="Manager";
JobList[1]="Student";
For CountryCode="DE" I have;
JobList[0]="Geschäftsführer";
JobList[1]="Schüler";
有什麼辦法來寫上面的λ類同這個查詢語法?
JobFunctionList.Select(a=>a.mlgValue).Where(b=>b....)...
它工作好!非常感謝你!我也會遵循你的推薦。 – freewill
我跟進你的推薦命名和編輯原始問題,讓其他人更好地理解代碼。 – freewill