public IList <ProductLine> FindByName(string productLineName, bool includeProducts) { var results = m_DataSource.From <ProductLine>(new { productLineName }).ToCollection().Execute(); if (results.Count > 0 && includeProducts) { var children = m_DataSource.GetByColumnList <Product>("ProductLineKey", results.Select(pl => pl.ProductLineKey)).ToCollection().Execute(); foreach (var line in results) { line.Products.AddRange(children.Where(x => x.ProductLineKey == line.ProductLineKey)); } } return(results); }