如何使用linq随机选择两个表中的记录

时间:2014-03-29 13:20:11

标签: c# sql linq

我想从数据库中查询并从一个表中随机选择50条记录,从另一个表中选择一条记录,这些记录将随机列表中的LINQ始终可用。

我在谷歌搜索但无法获得任何帮助,所以我发布在这里。

到目前为止,我得到了随机行,但未显示1条特定记录...

public List<TweetFollowers> GetRandomTweets(int Skip, int Take)
{
    List<TweetFollowers> tweetList;
    using (var context = new DBContext())
    {
        var tweets = context.KKRTweetFollower.OrderBy(x => Guid.NewGuid()).Take(Take).Skip(Skip);
        tweetList = tweets.ToList();
    }
    return tweetList;
}

1 个答案:

答案 0 :(得分:1)

这是我解决问题的方法:

public static Quotes GetRandomQuotes()
{

HsInternetDBDataContext db = new HsInternetDBDataContext();

var query = from c in db.Quotes select c;
int count = query.Count();
if (query.Count() > 0)
{
    Random r = new Random();
    return new Quotes(query.ToList()[r.Next(0, count)]);
}
else
{
    return new Quotes();
}
}