Install the Custom Tool

After building (VS 2008) the ULinqGen project, you may either register the assembly with regasm, or build and run the setup project. Then you should close the IDE (all VS2008 instances) and reopen it to make the new custom tool available.

Code a generic Data Context class in your project

It may be as simple as this:

    public class MyDataContext : DataContext
    {

        private static System.Data.Linq.Mapping.MappingSource 
            mappingSource = new AttributeMappingSource();

        public MyDataContext(string connection) :
            base(connection, mappingSource)
        {
        }
    }  

Associate each DBML to the custom tool

On the project explorer, for each model in which you want to use this tool, set the "Custom Tool Name" property to "ULinqToSQLGenerator"

Get tables from your generic data context and you are ready to LINQ

Assuming your DBML has an Invoice entity with InvoiceItem children and a Customer foreign relation, it may look as this:

    MyDataContext dc = new MyDataContext( myConnectionString);
    Table invoices = dc.GetTable<Invoice>();

    var results = from i in invoices
        where i.IsApproved
        && i.Customer.FirstName.StartsWith("John")
        && i.InvoiceItems.Count > 2
        order by i.ApprovalDate
        select i
    return results.ToArray();

From here it's up to you!