Новичок нуждается в помощи на случайной записи

Возможный дубликат:
Случайный ряд из Линк в Sql

Я абсолютный новичок, когда дело доходит до.NET. У меня есть эта строка кода, которая извлекает запись из БД, содержащую указанное имя системы. У меня есть возможность назвать более одной темы с одним и тем же системным именем.

То, на что я надеюсь, это способ случайного выбора темы, если более одной содержит это имя системы. Если существует только один, это будет показано, как сейчас. Код, который работает для извлечения темы с указанным системным именем, выглядит следующим образом:

public virtual Topic GetTopicBySystemName(string systemName){
  if (String.IsNullOrEmpty(systemName)) return null;
  var query = from t in _topicRepository.Table
    where t.SystemName == systemName
  select t;
  return query.FirstOrDefault();
}

Что мне нужно изменить, чтобы достичь вышеуказанного?

1 ответ

Не на машине, которую я могу проверить, но:

Random random = new Random();
int count = query.Count();
if(count <= 1) return query.FirstOrDefault();
return query.Skip(random.Next(0, count)).First();
Другие вопросы по тегам