繁体   English   中英

从数据库生成随机收集

[英]Generating random collection from the database

我在拉取数据的webapi中有以下方法。 我正在构建一个应用程序,它将具有来自此方法的默认数据的列表视图。 我希望每当任何用户启动该应用程序时此数据都将更改。

如何使用这种方法生成随机数据。 大约有4个不同的类别。

        public IEnumerable<ArticlesDto> Find(string  category)
                {
                    IEnumerable<ArticlesDto> objArticles = null;

                    var context = new ArticlesContext();

                        objArticles = (from j in context.Information
                                       where j.Category == category

                                       select new ArticlesDto()
                                       {
                                           Id = j.Id,
                                           Headlines = j.Headlines,
                                           Url = j.Url,
                                           Category = j.Category,
                                           Summary = j.Summary
                                       });
                        return objArticles;                       
                }

示例:第一次使用该应用程序时,我看到约20行的数据列表(默认数据)。 第二次使用该应用程序时,看到的列表与上次使用该应用程序时有所不同,另外还有20行。

为什么不尝试使用AutoFixture。 该框架将帮助您在每次进行WebAPI调用时生成随机数据。 这里是GITHub链接。 如果有帮助,请标记为答案。

https://github.com/AutoFixture

只需订购一个随机数,然后取任意数量:

Random rnd = new Random();
objArticles = context.Information.Where(i=> i.Category == category)
.OrderBy(i=> rnd.Next())
.Select(i=> new ArticlesDto
{
     Id = i.Id,
     Headlines = i.Headlines,
     Url = i.Url,
     Category = i.Category,
     Summary = i.Summary
}).Take(20);

暂无
暂无

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

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