не удается преобразовать лямбда-выражение В тип department

public static IList<NameValueCore> FindDepartment(string search)
{
    return Repository<Department>
          .Find(p =>( p.Name.Contains(search)) &&  ( p.RegistrationEntityType.Id == ((int)Session["SelectMenu"] == 12 ? 1 : (int)Session["SelectMenu"])))
          .Take(40)
          .ToList()
          .Select(p => new NameValueCore(p.Name, p.Id.ToString()))
          .ToList();
}

этот раздел генерирует ошибку: ( p.RegistrationEntityType.Id == ((int)Session["SelectMenu"] == 12 ? 1 : (int)Session["SelectMenu"])

1 ответ

  1. Перед операциями проверить Session:

    public static IList<NameValueCore> FindDepartment(string search)
        {
           int selectMenu = 1;
           if(Session["SelectMenu"]!=null)
           {
              selectMenu=(int)Session["SelectMenu"];
           }
    
           return Repository<Department>
                              .Find(p =>( p.Name.Contains(search)) &&  ( p.RegistrationEntityType.Id == (selectMenu == 12 ? 1 : selectMenu)))
                              .Take(40)
                              .ToList()
                              .Select(p => new NameValueCore(p.Name, p.Id.ToString()))
                              .ToList();
        }