对于.NET来说,我是个新手。我有这行代码,它从包含指定系统名称的DB中提取记录。我有可能使用相同的系统名称命名多个主题。
我希望的是一种随机选择主题的方法,如果多个主题包含该系统名称。如果只有一个存在,这将显示为现在。用于提取具有指定系统名称的主题的代码如下所示:
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 :(得分:0)
不是我可以测试的机器,但是:
Random random = new Random();
int count = query.Count();
if(count <= 1) return query.FirstOrDefault();
return query.Skip(random.Next(0, count)).First();