我有这个实体:
public class Product
{
public string Name { get; set; }
public double Price { get; set; }
public ProductManufacturer Manufacturer { get; set; }
}
我希望我的服务返回要在视图中显示的产品列表。我还需要使用延迟加载显示有关制造商(Product.Manufacturer)的信息。
我的服务应该返回IQueryable还是IEnumerable?谢谢。
答案 0 :(得分:3)
IEnumerable<T>
和IQueryable<T>
都是接口。他们都没有“支持”延迟加载。
答案 1 :(得分:1)
我认为在您使用它们之前,这些项目不会被序列化,如果这就是您的意思。我遇到了这个问题,从WCF服务返回LINQ表达式,并在WCF序列化程序尝试序列化结果时获得异常。解决方案是在序列化之前在IQueryable结果上调用ToArray()。
不知道这完全回答了你的问题吗?