我正在开发一个 Web 应用程序并使用 mvc、实体框架、ado.net 实体。我想知道在某些条件下哪个可以快速获取数据:1. Lambda 表达式 2. Linq 查询
代码片段如下(在下面的代码_dict是字典)
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();
或者
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();
请建议我哪个更快并且可能,然后也给出理由。