我正在從分隔符表中提取數據庫中的數據並存儲在單獨的變量中。如何基於另一個列表字段篩選一個列表
這是第一個列表
var res = (from v in context.MasterValues
join c in context.MasterCategories on v.Category_Id equals c.Id
where c.Model_Key == (int)model && c.Name == tableName && v.Version_Id == version && v.Active == "Y" && c.Name.Equals("FXRates")
select new
{
Id = v.Id,
VersionId = v.Version_Id,
Text1 = v.Text1,
}).ToList();
這是第二個列表
var fxview = context.MasterFXRates.Select
(x => new
{
Currency_code = x.Currency_code,
Rate = x.Rate,
Effective_dt = x.Effective_dt
}
).ToList();
所以現在如何從我的第二個列表基於從我的第一個列表數據fxview過濾數據? 即 我需要其中list2中的CURRENCY_CODE的數據與List1中的文本1,其中effective_dt(datetime列)最大/最新日期
,例如,如果第二列表數據具有
- ABC,100匹配過濾數據, 2010-10-10
- ABC,120,2014-12-12
- DEF,700,2013年8月2日
- DEF,500,2015年6月6日
和列表(RES)具有以下數據
- 1,1,ABC
- 2,1,DEF
所以濾波後我的最終名單必須有以下輸出
- ABC,120(由於2014-12-12是最新日期,因此取出相應的值並重復值(ABC,100)應該被濾除。)
2.DEF,500(2015年6月6日以來是最新日期,相應的值被取出並重復值(DEF,& 00)應當被過濾掉。)
如果只列出了需要執行過濾,我建議執行'JOIN'代替。 –