O değerler var yok diye bakman gerek eğer ki var ise sql sorgunu yada metodunu düzenlemen gerek. Bak küçük bir örnek vereyim. c# bilmene gerek yok sadece oradaki mantığı anlaman kafi. Metoda gönderilen değer null değilse sorguya ekleyip son haliyle veritabanından sorgulama yapıyor.


public List fnListele(string strKelime, Guid? gdDesteklemeDonemId, Guid? gdSehirId)
{
List liste = new List();
using (Veritabani db = new Veritabani())
{
string strSorgu = " SELECT * FROM tblIcmal WHERE 1=1";
if (!string.IsNullOrEmpty(strKelime))
strSorgu += " AND GercekTuzelKisi LIKE '%" + strKelime + "%'";
if (gdDesteklemeDonemId != null)
strSorgu += " AND DesteklemeDonemId_FK = '" + gdDesteklemeDonemId + "'";
if (gdSehirId!= null)
strSorgu += " AND SehirId_FK = '" + gdSehirId+ "'";

strSorgu += " ORDER BY DesteklemeDonemId_FK, SehirId";

liste = db.Database.SqlQuery(strSorgu).ToList();
}
return liste;
}