LINQ to SQL Условие - PullRequest
       1

LINQ to SQL Условие

0 голосов
/ 09 мая 2011

HI!

Я хочу сделать запрос LINQ to SQL, который обрабатывает два разных условия.Один из них указан в функции ниже.Условие, которое я хочу включить в приведенную ниже функцию, заключается в том, что я хочу иметь возможность запрашивать людей любого возраста.Как мне переписать эту функцию, чтобы она обрабатывала запрос для 1. Лица определенного возраста или 2: Лица любого возраста.

 public IQueryable test(int age)

    {

        var persons = from p in db.Person

                      where p.age = age

                      select new

                      {

                          p.name

                      };



        return persons;

    }

Ответы [ 3 ]

1 голос
/ 09 мая 2011
public IQueryable test(Nullable<int> age)
{ 
      var persons = from p in db.Person

                  where p.age = age.HasValue ? age.Value : p.age

                  select new

                  {

                      p.name

                  };

    return persons;

}

Если вы передадите null этой функции, вы получите людей любого возраста.

0 голосов
/ 09 мая 2011
  1. Написать два запроса.
  2. Использовать состав запроса.
0 голосов
/ 09 мая 2011
var persons = from p in db.Person
select new                      
{                          
    p.name,
    p.age
};

if (age > 0) // or declare a bool to check age needs to be filtered.
{
    persons = persons.Where(p => p.age == age);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...