Как обрабатывать отсутствие результатов в LINQ?

в этом примере кода

public Company GetCompanyById(Decimal company_id)
{
    IQueryable<Company> cmps = from c in db.Companies
                               where c.active == true && 
                                     c.company_id == company_id
                               select c;
    return cmps.First();
}

Как мне поступить, если нет данных в cmps ?

cmps никогда не будет нулевым , поэтому как я могу проверить несуществующие данные в запросе LINQ ?

, чтобы я мог избежать this

'cmps.ToList()' threw an exception of type ... {System.NullReferenceException}

при преобразовании, например, в List

GetCompanyById(1).ToList();

Всегда ли мне нужно , чтобы заключить его в блок try catch ?

9
задан balexandre 7 October 2010 в 18:32
поделиться