var query = (from a in Orders.Expand("Order_Details")
select a).Take(9)
该语句生成所有列,只需要一些列
将结果选择成一个新的匿名对象:
var query = (from a in Orders.Expand("Order_Details")
select new { a.Column1, a.Column2, etc... } ).Take(9)
或者,如果您需要强类型:
public class OrderDetails {
public int OrderID { get; set; }
public int CustomerID { get; set; }
}
var query = (from a in Orders.Expand("Order_Details")
select new OrderDetails { OrderID = a.order_id, CustomerID = a.customer_id } ).Take(9)
我假设您在 WCF 数据服务中使用实体数据模型(edmx 文件)。(因为您正在使用“扩展”功能。)
如果是这种情况......您可以创建一个复杂的数据类型(通过 edmx 模型浏览器),然后将所有需要的列类型添加到这个复杂的数据类型中。
然后,您在数据服务中创建一个自定义函数,用于传回这种复杂类型的数据。
您的客户端应用程序可以使用服务中定义的复杂类型,因为服务引用允许您识别该复杂类型。