не содержит определения для where для linq

#mysql #.net #linq #contains

#mysql #.net #linq #содержит

Вопрос:

Я хочу запросить из таблицы Users с помощью запроса linq. Я получаю сообщение об ошибке в этой строке в разделе «Пользователи.Где»; var KisiList = Users .Где(w => w.Userstatus == 1 amp;amp; w.Isactive == 1).ToList(); Users не содержит определения для where . что я должен добавить сюда?

 public List<Users> GetBagliOlduguKisiList()
{

     var KisiList = Users.Where(w => w.Userstatus == 1 amp;amp; w.Isactive == 1).ToList();
    List< Users> users= new List< Users>();
    
    foreach (var item in KisiList )
    {
        Users par= new Users();
        par. ID= item. ID;
        par. Name= item. Name;
        users.Add(par);
    }

    return users;
}
 

Комментарии:

1. Где ваш DbContext?

2. где я должен использовать DbContext?

3. Добавьте поверх вашего файла: using System.Linq;

Ответ №1:

Вероятно, вы пропустили using System.Linq; . Также, если вы используете LINQ, попробуйте сделать это эффективно и извлекать только необходимые поля.

 public List<Users> GetBagliOlduguKisiList()
{
    var users = Users
       .Where(w => w.Userstatus == 1 amp;amp; w.Isactive == 1)
       .Select(u => new Users
       { 
          ID = u.ID,
          Name = u.Name
       })
       .ToList();

    return users;
}
 

Комментарии:

1. Я добавил использование с помощью System.Linq, но я думаю, что пропустил такие вещи, как Queryable или dbcontext

2. Итак, что такое пользователи?

3. Users — это имя класса, которое я создал.

4. Итак, это ваша проблема. Where может применяться только к IQueryable или IEnumerable.