То, что у вас есть, - это то, что обычно делают люди, используя linq. Если вы хотите усложнить работу и использовать подстановочные знаки базы данных, взгляните на класс SqlMethods в System.Data.Linq.
@ Джеймс Керран
Вы можете назначить свойство DataSource q, и оно будет работать нормально. Разница лишь в том, когда запрос выполняется.