Новичок нуждается в помощи на случайной записи
Возможный дубликат:
Случайный ряд из Линк в 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();