0

重複の可能性:
Linq から Sql へのランダムな行

.NETに関しては、私はまったくの初心者です。指定したシステム名を含む DB からレコードを取得するこのコード行があります。同じシステム名で複数のトピックに名前を付ける可能性があります。

私が望んでいるのは、そのシステム名が複数含まれている場合にトピックをランダムに選択する方法です。1 つしか存在しない場合は、現在の状態で表示されます。指定されたシステム名でトピックをプルするコードは次のようになります。

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();
}

上記を達成するために何を変更する必要がありますか?

4

1 に答える 1

0

私がテストできるマシンではありませんが、

Random random = new Random();
int count = query.Count();
if(count <= 1) return query.FirstOrDefault();
return query.Skip(random.Next(0, count)).First();
于 2012-07-15T15:44:09.873 に答える