2012-07-15 72 views
0

可能重複:
Random row from Linq to 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(); 
} 

什麼我需要改變,以實現上述?

回答

0

不是在一臺機器,我可以測試,但是:

Random random = new Random(); 
int count = query.Count(); 
if(count <= 1) return query.FirstOrDefault(); 
return query.Skip(random.Next(0, count)).First();