Q:

Linq query Join objects with different data sources?

I am trying to join two objects, the first is a (static) local object defined in a Helper and the second (Subsonic) Database object.
Here is the offending extract from my repository, I wont bore you with the models and helpers unless requested.
public IQueryable GetData(string DataType)
        {
        IQueryable<DatabaseObject> datalist = (
            from t in db.All<DatabaseObject>()
            join e in WebHelpers.LocalList.AsQueryable<LocalObject>()
            on t.Type equals e.Type
            orderby t.DateOccurred descending
            select t
        ).Where(e => e.Category == TransType);

        return datalist;
    }

I realise that I could me my life 1000 times easier by putting this table into the database, and for the next release I may very well do this. But is there a way to achieve what I am trying to do? Im thinking this is either (a) Im not returning the correct datatype as the view model expects IQueryable or (b) Subsonic is causing the issue.

A:

My final solution was to reorganise the where clauses to ensure that the select returns only the correct datatype (IQueryable). Without reorganising the where clauses, the join data is still passed through the object despite specifying select t.
public IQueryable GetData(string DataType)
{

     IQueryable<DatabaseObject> dbData = (
        from t in db.All<DatabaseObject>().Where(e => e.Category == TransType)
        join e in WebHelpers.LocalList
        on t.Type equals e.Type
        orderby t.DateOccurred descending
        select t
    ); 

    return dbData;
}

