我有一個LINQ查詢寫入到從數據表中拉至少一行如下:DefaultIfEmpty?
var generalQuery =
from contact in contacts.AsEnumerable().DefaultIfEmpty()
where contact.Field<String>("CONTACT_TYPE").ToUpper() == "AGENT"
select new
{
AgentName = contact.Field<String>("FIRST_NAME") + " " +
contact.Field<String>("LAST_NAME"),
AgentPhoneNumber = contact.Field<String>("PHONE"),
AgentEmailAddress = contact.Field<String>("EMAIL")
};
然後我嘗試設置與LINQ查詢輸出值的類的新實例的屬性:
var genInfo = new GeneralInformationType
{
AgentName = generalQuery.FirstOrDefault().AgentName,
AgentPhoneNumber = generalQuery.FirstOrDefault().AgentPhoneNumber,
AgentEmailAddress = generalQuery.FirstOrDefault().AgentEmailAddress
};
我遇到的問題是偶爾在查詢中沒有結果。這會嘗試將GeneralInformationType中各種字符串的值設置爲null並導致異常。我嘗試了DefaultIfEmpty的各種方法,但無法弄清楚它放在哪裏。
任何幫助,將不勝感激。
感謝, 羅布
這兩個答案似乎都是正確的。我選擇了Jon的這個,因爲它是我使用的方法,並且不需要臨時的「結果」對象。感謝你的幫助! – SpaceCowboy74