本文章转载:http://www.cnblogs.com/wangiqngpei557/archive/2013/02/05/2893096.html
参考:http://dotnet.9sssd.com/entfwk/art/960
http://www.cnblogs.com/killuakun/archive/2008/08/03/1259389.html
http://www.cnblogs.com/snowdream/archive/2008/07/18/1246308.html
以往我们都是通过判断的方式来拼接查询的SQL字符串,但是现在我们面对是强类型的LINQ查询,是否可以很方便的进行类似查询。
eg:
string
_UserID =
string
.Empty;
_UserID =
"E351D301-F64B-412C-B9EF-573F41235AF2"
;
string
_UserName =
string
.Empty;
_UserName =
"admin"
;
string
_employyName =
string
.Empty;
_employyName =
"测试1"
;
using
(
var
xj =
new
XJGasBottles_testDataContext())
{
//Linq写法
var
usersLinq =
from
us
in
xj.Users
where
(
string
.IsNullOrEmpty(_UserID) || us.UserID.ToString() == _UserID)
&& (
string
.IsNullOrEmpty(_UserName) || us.UserName == _UserName)
|| (us.EmpName == _employyName)
//where string.IsNullOrEmpty(_UserID) || us.UserID.ToString()==_UserID
//where string.IsNullOrEmpty(_UserName) || us.UserName==_UserName
select
us;
foreach
(
var
item
in
usersLinq)
{
Console.WriteLine(
"Linq:"
);
Console.WriteLine(item.UserID +
"_"
+ item.UserName);
}
//Lamda写法
var
usersLamda = xj.Users.Where(s => (
string
.IsNullOrEmpty(_UserID) || s.UserID.ToString() == _UserID) &&
(
string
.IsNullOrEmpty(_UserName) || s.UserName == _UserName) ||
(s.EmpName==_employyName)
)
.Select(s => s);
foreach
(
var
item
in
usersLamda)
{
Console.WriteLine(
"Lamda:"
);
Console.WriteLine(item.UserID +
"_"
+ item.UserName);
}
}
|
本文展示了如何使用LINQ查询和Lambda表达式进行条件筛选。通过示例代码,介绍了如何根据不同的参数灵活地构建查询条件,实现数据库中用户信息的有效检索。
2529

被折叠的 条评论
为什么被折叠?



