I am developing an web application and using mvc, entity framework, ado.net entity. I want to know that which one is fast to fetch the data with some conditions : 1. Lambda Expression 2. Linq query
code snipped is below (in below code _dict is dictionary)
string fname = "", username = "", lname = "", mail = "";
if (_dict.ContainsKey("fname"))
fname = _dict["fname"].ToLower();
if (_dict.ContainsKey("username"))
username = _dict["username"].ToLower();
if (_dict.ContainsKey("lname"))
lname=_dict["lname"].ToLower();
if (_dict.ContainsKey("mail"))
mail = _dict["mail"].ToLower();
var _admins = db.AdminsTables.Where(x =>
x.firstname.ToLower().Contains(fname) &&
x.username.ToLower().Contains(username) &&
x.lastname.ToLower().Contains(lname) &&
x.useremail.ToLower().Contains(mail)).ToList();
OR
string fname = "", username = "", lname = "", mail = "";
if (_dict.ContainsKey("fname"))
fname = _dict["fname"].ToLower();
if (_dict.ContainsKey("username"))
username = _dict["username"].ToLower();
if (_dict.ContainsKey("lname"))
lname=_dict["lname"].ToLower();
if (_dict.ContainsKey("mail"))
mail = _dict["mail"].ToLower();
var _admins = (from record in db.AdminsTables
where record.firstname.ToLower().Contains(fname) && record.username.ToLower().Contains(username) && record.lastname.ToLower().Contains(lname) && record.useremail.ToLower().Contains(mail)
orderby record.id descending
select record).ToList();
Please suggest me which one is faster and is possible then give reason also.