必要な結果が得られない LINQ to Entites クエリを理解するのに問題があります。遅延クエリを実行し、Silverlight Datagrid に結果を表示する次のコードがあります。
public List<DispIRTSiteReports> DisplayIRTSiteReportsFilOn(List<IssueTypes> issueType, DateTime fDate, DateTime tDate)
{
try
{
var resultSet = from items in DataContext.IRT_Limited_View
select items;
var iType = issueType.Select(i=>i.IssueName); //contains multiple selected issue type Names
if (issueType.Count != 0)
{
foreach (var type in iType)
{
var copy = type;
resultSet = resultSet.Where(items => items.Type_Text.Equals(copy));
}
}
var newResultSet = (from q in resultSet
where q.Date_Time > fDate && q.Date_Time < tDate
select new DispIRTSiteReports
{
PhExt = q.Phone_Extension,
IssueType = q.Type_Text,
IssueSubType = q.Subtype_Text,
IssueDes = q.Issue_Description
}).ToList();
return newResultSet;
}
catch (Exception ex)
{
throw ex;
}
}
複数の IssueType 名を選択し、それらは var iType に格納されますが、コードを実行すると、最初の "foreach" 反復が最初の issueType 名で resultSet を変更し、2 番目の反復が完了すると、resultSet が一致しないため、resultSet に null が含まれます2 番目の IssueType Name となるため、resultSet は null になります。
元のresultSetを変更せずにresultSetを照会して、選択された複数のIssueType Namesの対応するデータがresultSetに含まれるようにする方法を知りたいです。この点であなたの助けは非常に高く評価されています.