LINQ2LLBL is very poweful. You can do things like:
var q = from c in metaData.Customer
select new
{
c.Country,
Orders = c.Orders,
c.CompanyName
};
LinqMetaData metaData = new LinqMetaData(adapter);
var q = from c in metaData.Customer
where c.Country != null
select new
{
c.City,
Contains3 = (from o in c.Orders select o.EmployeeId).Contains(3),
ConcatenatedResult = Concatenator.Concat((from o in c.Orders select o.EmployeeId).Contains(3).ToString(), c.City)
};
LinqMetaData metaData = new LinqMetaData(adapter);
var q = from c in metaData.Customer
where c.Country == "Germany"
select new
{
c.CompanyName,
c.City,
Orders = from o in c.Orders
select new
{
OrderDetails = from od in o.OrderDetails
select new
{
od.Product,
od.Quantity,
od.UnitPrice
},
o.Employee,
o.OrderDate
}
};
var q = from c in metaData.Customer
where c.Country == "Germany"
select new
{
c.City,
LastFiveOrders = (from o in c.Orders orderby o.OrderDate descending select new { o.OrderId, o.OrderDate }).Take(3),
c.CompanyName
};
Just read the docs and take a look at the linqTests that come with LLBLGen intallation ([LLBLGen Pro Installation folder]/LinqUnitTests).