http://social.msdn.microsoft.com/Forums/en-US/ccd6cac7-85d0-4b42-b26c-485d6d2a5f65/and-in-linq-is-it-possible?forum=linqprojectgeneral
For using 'and' you should use '&&' Like this
var data = a from db.gettable<person>
where a.name == 'John'
&& a.datebirth > 01/01/1990
select a.name?,? a. surname;
and for projecting data you can use anonymous type with 'New Operator' Like this
var data = a from db.gettable<person>
where a.name == 'John'
&& a.datebirth > 01/01/1990
select new {Name = a.name , Surname = a.surname};