我是C#的新手,对LINQ有一个快速的问题。我有一个数据库,有两个表Re和De。 Re表具有“Time”和“Id”列。 De table有“Id”和“data”列。现在我想每天从Re获得5个条目,这5个条目必须在那一天的时间内随机选择。我怎样才能做到这一点。另外,是否有任何种类的随机数种子,以便我可以重现随机性?我尝试了几次,但它不起作用。
这是我的代码:
using (var db = new DBContext("Name=MyDB"))
{
var Query = db.Re.Join(db.De,
r => r.Id,
d => d.Id,
(r, d) => new { r, d })
.Where(cr => cr.r.Time >= new DateTime(2016, 1, 1)
&& cr.r.Time < new DateTime(2016, 1, 30))
.OrderByDescending(cr => cr.r.Id)
.GroupBy(a => new { y = a.r.Time.Year,
m = a.r.Time.Month,
d = a.r.Time.Day })
.SelectMany(g=>g.OrderBy(row => Guid.newGuid()).Take(200))
.Select(e => new
{
myId = e.r.Id,
mydata = e.d.data
})
.Take(100);
}