![](/img/trans.png)
[英]Cannot implicitly convert type 'System.Linq.IQueryable' to 'System.Collections.Generic.List
[英]Cannot implicitly convert type 'System.Collections.Generic.List<T>' to 'System.Linq.IQueryable<T>'
我正在尝试在我的域服务(VS 2010 Silverlight业务应用程序)中创建一个查询,该查询返回作为特定值出现的检查读数的结果,我的数据库设置为:
Locations
a) Inspections
b) InspectionItems
c) InspectionReadings
a) Areas
b) Inspections
c) InspectionItems
d) InspectionReadings
因此,正如您所看到的,区域和位置下的位置有检查读数。 我有一个名为StatusList的POCO:
public class StatusList
{
[Key]
[Editable(false)]
public Guid ID { get; set; }
public string LocationName { get; set; }
public DateTime LastInspectionDate { get; set; }
public string Status { get; set; }
}
我用它来返回查询的结果:
public IQueryable<StatusList> GetLocationStatus()
{
var status = (from location in this.ObjectContext.Locations
where location.InspectionReadings.Status == value
orderby a.DateTaken
select new LocationStatusList()
{
ID = a.ID,
LocationName = d.Name,
}).ToList<StatusList>();
return status;
}
不幸的是,它返回标题中的错误,我不知道为什么列表显然是一个列表项,我已经转换了结果
.ToList<LocationStatusList>
问题正是因为你调用了ToList()
。 您已声明要返回IQueryable<LocationStatusList>
,而List<T>
未实现IQueryable<T>
。
选项(选择一个):
ToList
调用 IEnumerable<LocationStatusList>
, IList<LocationStatusList>
或可能List<LocationStatusList>
在ToList()
之后调用AsQueryable()
ToList()
:
... as before ... .ToList().AsQueryable();
请注意,在ToList
调用中不需要type参数 - 它与编译器推断的相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.