我正在做一個wpf應用程序,並且我想問你一些問題。如何存儲Linq查詢並稍後使用它?
我查詢窗口級數據庫和我查詢的結果傳遞給方法在我的對象是這樣的:
窗口級代碼:
payrollEmailManager.SetListOfSalariesToEmailTo(
from Record in SqlInfo.SqlTable.T_SALs
where Record.EtatPaie == 3
select new {
Matricule = Record.MatriculeSalarie,
Nom = Record.Nom,
Prenom = Record.Prenom,
Email = Record.EMail });
這是我的方法定義:
public void SetListOfSalariesToEmailTo(object _ListOfSalaryToRecieveMail)
{
ListOfSalary = _ListOfSalaryToRecieveMail;
}
哪裏ListOfSalary
也object
型。
現在這裏是這個問題對我來說,我有我想要走線槽的listofsalary
每個記錄,並得到我在查詢中選擇喜歡Matricule
或Email
,像這樣的信息的另一種方法:
public void SendEmail()
{
foreach(var Salary in (dynamic)ListOfSalary)
{
Mail.To.Add(Salary.????
}
}
我無法參考Nom
列或Email
列的任何建議?
你是什麼意思的「我不能引用」 - 如果你嘗試會發生什麼?你正在使用動態類型,所以你不應該期望Intellisense *建議*任何東西,但如果你只是使用它*可能*的性能。但是,每次您調用'SendEmail'時,您都會執行查詢。爲了避免這種情況,你可能想*實現查詢,例如通過在它的結尾調用'ToList()'(你可以調用'SetListOfSalariesToEmail')。目前還不清楚*爲什麼*你正在動態地做所有這些。爲什麼不使用具有所需信息的合適類型? –
我會使用SQL DataAdapter並將結果放入數據表中。然後,您可以將數據表傳遞給代碼的其餘部分,而不是在這種情況下使用linq。 – jdweng