我想知道为什么这两个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' :) –