C# 检索随机数据库记录

C# 检索随机数据库记录,c#,sql-server,entity-framework,asp.net-mvc-4,random,C#,Sql Server,Entity Framework,Asp.net Mvc 4,Random,如果相关的话,使用实体框架EF5检索X个随机记录的最佳方法是什么。X的值将根据使用位置进行设置 EF中是否有这样做的方法,或者最好下拉一个结果集,然后使用C随机数函数来拉取记录。还是有一种我没有想到的方法 我有一个表,它存储了我用于不同用途的图像,这是一个与图像类型表相关的FK。我在主页上的旋转木马中使用的图像是我想要添加一些变化的……因此,它的随机性对我来说并不重要。我只是想摆脱一直在展示的六张左右的照片。另外,我对辩论/讨论将图像存储在表中还是本地存储并不感兴趣 解决方案需要通过LINQ语句

如果相关的话,使用实体框架EF5检索X个随机记录的最佳方法是什么。X的值将根据使用位置进行设置

EF中是否有这样做的方法,或者最好下拉一个结果集,然后使用C随机数函数来拉取记录。还是有一种我没有想到的方法

我有一个表,它存储了我用于不同用途的图像,这是一个与图像类型表相关的FK。我在主页上的旋转木马中使用的图像是我想要添加一些变化的……因此,它的随机性对我来说并不重要。我只是想摆脱一直在展示的六张左右的照片。另外,我对辩论/讨论将图像存储在表中还是本地存储并不感兴趣

解决方案需要通过LINQ语句使用EF。如果这不是直接的,我可能会做一些类似于@cmd在评论中建议的事情。这很可能是一个检索记录计数的问题……测试PK以确保生成的对象不为null,并构建一个要传递到前端的对象PK的X个数的列表。转盘延迟加载图像,因此在我构建转盘将使用的列表时,我实际上不需要该图像。

您能在查询中添加ORDER by RAND子句吗


请参阅此相关问题:

它应该是多随机的?有什么好的吗?我要数一数桌子;生成一个从1到计数的随机数,然后使用rownum=generated\u number进行选择(如果启用)oracle@OdedEF不直接使用SQL,其中大多数似乎与SQL而不是实体框架相关。@cmd我正在构建此表,很可能将使用GUID作为PK。另外,据我所知,在我使用过的任何数据库上,顺序PK通常与记录计数匹配,但不能保证这一点。如果您收到的随机数为1,但PK为1的行已被删除,则可能会出现此问题。@Oded它根本不需要非常随机。只是试图防止主页图像选择停滞。在我的使用中,实体框架99%至少根本不使用SQL。您直接处理对象,框架决定要运行的SQL。