- 分享
- 0
- 人气
- 0
- 主题
- 4
- 帖子
- 672
- UID
- 122737
- 积分
- 476
- 阅读权限
- 16
- 注册时间
- 2008-2-3
- 最后登录
- 2015-5-11
- 在线时间
- 649 小时
|
例如这一段code
public IList<DAL.Salary> GetSalaryByUserAndDate(string UserId, string Month, string Year)
{
try
{
IList<DAL.Salary> ilSalary = new List<DAL.Salary>();
// using (HRS2009Entities context = new HRS2009Entities())
//{
var query = from S in context.Salary
where S.User.UserId == UserId && S.Month == Month && S.Year == Year
select S;
foreach (var SalaryItem in query)
{
ilSalary.Add(SalaryItem);
}
//}
if (ilSalary != null && ilSalary.Count != 0)
return ilSalary;
else
return null;
}
catch (Exception ex)
{
return null;
}
}
以上那个query我只能在S.User.UserId == UserId && S.Month == Month && S.Year == Year
才能拿到资料
可是当我多出了其他状况
例如说我现在不要search单独的user我要search month 和 year的时候,或者单单一个month的时候,除了写多一个method之外还有什么办法吗??
还是在一个method里面可以select多个query
请各位前辈帮忙解答,由于我只是linq的入门新手,请多多赐教
我有想过用case可是如果是search by month而已,那么user id 和 year pass回去的资料就是Null了,在linq里面可以成立吗??
[ 本帖最后由 我是大猪头 于 2009-9-17 01:39 AM 编辑 ] |
|