Building Blocks for complex sql using linq