我想知道爲什麼這兩個LINQ查詢是不同的,或者爲什麼一個工作,另一個不是?很顯然,編譯器說他們不同,但我似乎無法找出原因?這兩個LINQ查詢爲什麼不同?當他們似乎相同
我想第一個查詢工作,但不管我做什麼它不會工作。
下面的LINQ查詢給我的錯誤,
無法隱式轉換類型'詮釋?到 「System.Collections.Generic.IEnumerable」
public static IEnumerable<int?> GetTenantFacilityCosts(int? code, DateTime date, int number)
{
return DataContext.Facility_Cost_TBLs.
Where(p => p.Tenant_Code == code &&
p.Code_Date == number &&
p.Date_Year == date.Year &&
p.Date_Month == date.Month).
FirstOrDefault().Tenant_Portion;
}
但下面這個查詢得到int
價值,我想獲得並不會引發錯誤。
int? facilityCost =
DataContext.Facility_Cost_TBLs.
Where(p => p.Tenant_Code == selectedTenant.Tenant_Code &&
p.Code_Date == 10 &&
p.Date_Year == date.Year &&
p.Date_Month == date.Month).
FirstOrDefault().Tenant_Portion;
爲什麼這兩個查詢不同的充,我怎麼會得到的第一個正常工作?
錯誤告訴你,你試圖返回''INT在應該返回一個IEnumerable的''的方法? 。 –
germi
將'return'改爲'yield return' :) –