У меня в настоящее время есть метод в моем хранилище, такой как:
public int GetMessageCountBy_Username(string username, bool sent)
{
var query = _dataContext.Messages.AsQueryable();
if (sent)
query = query.Where(x => x.Sender.ToLower() == username.ToLower());
else
query = query.Where(x => x.Recipient.ToLower() == username.ToLower());
return query.Count();
}
В настоящее время он создает один из двух запросов на основе логического значения sent
.Это лучший способ сделать это или есть способ сделать это в самом запросе?Я хочу проверить, равен ли x.Sender
username
, равен ли sent
истина.Но я хочу проверить, равен ли x.Recipient
username
, равен ли sent
ложь.
Затем я хочу, чтобы это выражение LINQ преобразовалось в SQL в Entity Framework, что, я полагаю, делает.
Я просто хочу не повторять как можно больше кода.