I have a method like this that works as expected.

```cs
[WebGet]
public IQueryable<BuildJobModel> GetCustomers()
{
    var context = new MyDataContext(); // ADO.NET Entity Data Model
    var query = from c in context.Customers
                select new CustomerModel {
                    Id = c.Id,
                    Name = c.Name
                };
    return query;
}

```

But when I try to create a more complex query like this, it doesn't work.

```cs
[WebGet]
public IQueryable<BuildJobModel> GetCustomers()
{
    var context = new MyDataContext(); // ADO.NET Entity Data Model
    var query = from c in context.Customers
                select new CustomerModel {
                    CustomerId = c.CustomerId,
                    Name = c.Name,
                    Orders = from o in c.Orders
                             select new OrderModel {
                                 OrderId = o.OrderId,
                                 Details = o.Details
                             }
                };
    return query;
}

```

The Models look like this:

```cs
public class CustomerModel
{
    public int CustomerId { get; set; }
    public string Name { get; set; }
    public IEnumerable<OrderModel> Orders { get; set; }
}

public class OrderModel
{
    public int OrderId { get; set; }
    public string Details { get; set; }
}

```

The Exception:

Cannot serialize member Proj.CustomerModel.Logs of type System.Collections.Generic.IEnumerable`1[[Proj.OrderModel, Proj, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] because it is an interface.

**My Goals:**

* I want to be able to expose an IQueryable interface.
* I want to return nested data.
* I want to use my own Models, not the ado.net entities
* I want to hit the database with as few queries as possible (one would be best).