简体   繁体   English

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

[英]How to select records from two tables randomly using linq

I want to query from database and select 50 records randomly from one table, and one record from another table which will be always available in the random list using LINQ. 我想从数据库中查询并从一个表中随机选择50条记录,并从另一张表中随机选择一条记录,这将始终使用LINQ在随机列表中可用。

I searched in google but couldn't get any help so I posted here. 我在Google中搜索,但无法获得任何帮助,所以我在这里发布了。

So far I got random rows but 1 specific record is not shown... 到目前为止,我得到了随机的行,但未显示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;
}

here's my solution for the problem: 这是我针对该问题的解决方案:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM