.net 如果我的服务返回实体的IEnumerable,我可以延迟加载相关实体吗?

.net 如果我的服务返回实体的IEnumerable,我可以延迟加载相关实体吗?,.net,linq,.net,Linq,我有这个实体: public class Product { public string Name { get; set; } public double Price { get; set; } public ProductManufacturer Manufacturer { get; set; } } 我希望我的服务返回要在视图中显示的产品列表。我还需要使用延迟加载显示相关制造商(Product.manufacturer)的信息 我的服务应该返回IQueryabl

我有这个实体:

public class Product
{
    public string Name { get; set; }
    public double Price { get; set; }

    public ProductManufacturer Manufacturer { get; set; }
}
我希望我的服务返回要在视图中显示的产品列表。我还需要使用延迟加载显示相关制造商(Product.manufacturer)的信息


我的服务应该返回IQueryable还是IEnumerable?谢谢。

和都是接口。它们都不“支持”延迟加载。

和都是接口。它们都不“支持”延迟加载。

我认为这些项目在使用之前没有序列化,如果这是您的意思的话。我对此有问题,从WCF服务返回LINQ表达式,并且在WCF序列化程序尝试序列化结果时出现异常。解决方案是在序列化IQueryable结果之前对其调用ToArray()


不知道这是否完全回答了您的问题?

如果您的意思是这样的话,我认为这些项目在使用之前没有序列化。我对此有问题,从WCF服务返回LINQ表达式,并且在WCF序列化程序尝试序列化结果时出现异常。解决方案是在序列化IQueryable结果之前对其调用ToArray()


不知道这是否完全回答了您的问题?

请更具体地说明您试图实现的目标。您是否打算将这些作为属性而不是字段?@Matthew Whited-更正了它,非常感谢。请更具体地说明您试图实现的目标。您打算将这些作为属性而不是字段吗?@Matthew Whited-更正它,非常感谢。谢谢@John Saunders,我刚刚添加了更多信息。谢谢@John Saunders,我刚刚添加了更多信息。