2014-02-16 3 views
-1

Client стол с колонками Id, Name, Value.Как я могу использовать предложение where для выбора?

Я пытаюсь использовать пункт .where вернуть записи, где name столбец имеет значение CLIENTACCESS

ClientAccountAccess clientAccessCodes = db.ClientAccountAccesses 
        .Where(x => x.name == "CLIENTACCESS").Select(); 

return clientAccessCodes.value; 

Я не думаю, что я слишком далеко .... любая помощь?

+0

Что на самом деле не так с тем, что у вас есть? Вы получаете сообщение об ошибке? –

ответ

5

Вы можете использовать FirstOrDefault, если нет записи, которая вычисляет ваше состояние, то она вернет значение null.

ClientAccountAccess clientAccessCodes = db.ClientAccountAccesses 
             .Where(x => x.name == "CLIENTACCESS") 
             .FirstOrDefault(); 
if(clientAccessCodes != null) 
    return clientAccessCodes.value; 
else 
    return null; 

Также вы можете использовать this перегруженную версию FirstOrDefault и вы можете сократить это заявление так:

var clientAccessCodes = db.ClientAccountAccesses 
          .FirstOrDefault(x => x.name == "CLIENTACCESS"); 
+2

Или, еще лучше, вы можете просто использовать FirstOrDefault вместо Where: FirstOrDefault (x => x.name == "CLIENTACCESS") –

+0

Вам также не нужно 'else'. –

+2

На самом деле вам не нужен весь оператор 'if'. Просто верните db ... Null будет возвращен из-за 'FirstOrDefault'. –

0

Вам не нужно Select(). Просто сделайте это:

return db.ClientAccountAccesses.FirstOrDefault(x => x.name == "CLIENTACCESS"); 
+0

Нет, он вернет 'IEnumerable ' ни одно значение. –

+0

Ha. К сожалению. Исправлена. Благодарю. –

Смежные вопросы