سلام ، نمی خواین تمامی شرط های مختلف رو بررسی کنید و برای هرکدوم در Query جداگونه بنویسید ، کافیه کوئری رو به شکل زیر بنویسید ، Linq خودش مدیریت می کنه :
DataClasses1DataContext context = new DataClasses1DataContext();
IEnumerable<tablePersonel> query = from personel in context.tablePersonels
where personel.FirstName.Contains(this.textBox1.Text) &&
personel.LastName.Contains(this.textBox2.Text)
select personel;
this.dataGridView2.DataSource = query;
عکس از محیط برنامه ای که طراحی کردم :