Logo

多条件动态LINQ 组合查询

photo

2017年07月18日

以往我们都是通过判断的方式来拼接查询的SQL字符串,但是现在我们面对是强类型的LINQ查询,是否可以很方便的进行类似查询。

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);

}

}

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!

留言板

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

热门文章

C#图片处理 通常对一幅图片的处理包括:格式变换,缩放(Scale),翻转(Rotate),截取(Clip),滤镜...C#图片处理 作者:Pastore Antonio
1716 浏览量
memcached 处理 多端口:https://blog.csdn.net/Erica_1230/article/deta...memcached处理 作者:Pastore Antonio
1676 浏览量
AssemblyInstaller 的应用 usingSystem;usingSystem.Configuration.Install;us...AssemblyInstaller的应用 作者:Pastore Antonio
1667 浏览量
WordPress上传文件大小限制修改 WordPress上传媒体文件默认大小限制是2M或8M,当文件大于这个限定大小时,是上传不了的。其实...WordPress上传文件大小限制修改 作者:Pastore Antonio
1640 浏览量
Layui开发日记 丰富版table:https://saodiyang.gitee.io/layui-soul-ta...Layui开发日记 作者:Pastore Antonio
1594 浏览量