小编tok*_*zer的帖子

使用许多可选参数进行过滤不起作用

这是我的代码.只有当第一个if语句(phoneNumber)不为null时,查询才能正常工作,但如果第一个if为null而其他parmenters不为null则会给我整个表

public static List<AllMember> SearchMember(string phoneNumber, string fName, string lName, string Tz, string empNum, string email, string dbName)
{
    try
    {
        using (var db = new DCardsDataContext(Organizations.GetConnectionStringByDbName(dbName)))
        {
            return db.AllMembers.Where(
                m =>
                 string.IsNullOrEmpty(phoneNumber) ? true : phoneNumber == m.PhoneNumber &&
                    string.IsNullOrEmpty(fName) ? true : fName == m.MemberFirstName &&
                     string.IsNullOrEmpty(lName) ? true : lName == m.MemberLastName &&
                      string.IsNullOrEmpty(Tz) ? true : Tz == m.TZ &&
                       string.IsNullOrEmpty(empNum) ? true : empNum == m.EmployeeNum &&
                        string.IsNullOrEmpty(email) ? true :  email == m.Email 
                ).ToList(); …
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-sql

1
推荐指数
1
解决办法
38
查看次数

标签 统计

c# ×1

linq ×1

linq-to-sql ×1