A: 

Basically, you do a left outer join with local objects in the same way you would do it with any other Linq source. The problem comes in when the provider may not understand what you're doing.

So, have you tried it the obvious way to see if it worked? If that doesn't work, then you may find it reasonable to simply return the results and filter out the undesired rules in a third Linq statement.

John Fisher
I've tried and had problems being able to mix local and sql queries. Also, I'm not just trying to filter results, I need a left-outer so I will also ensure that I have rule entries for what is passed in, regardless of whether there is an entry/data for that rule returned from the database. I'm not doing something right. Hell, I'm not even sure where exactly to do the join.
KingNestor
A: 

It could be due to a deferred query which has not returned yet, especially considering your using IEnumeratable<>... check out Charlie Calvert's blog on the subject, to quickly check you can try slipping in something like a .ToArray() assignment which will cause the query to execute immediately.

RandomNickName42
+1  A: 

I can offer you a bit of meta-help. You should go grab LINQPad and start using .Dump() to see where you're going wrong (you can also look at the direct SQL translations as well).

JP Alioto