EntityFramework在Mysql中随机排序问题

用Entityframework 随机排序的时候 像这种 OrderBy(c => Guid.NewGuid()) 在MSSQL中没问题,但是在mysql中没有这个函数,

既然在MySQL报错没这个函数,就想着创建一个试试,没想到还真可以。

DELIMITER //
CREATE FUNCTION NewGuid()
RETURNS VARCHAR(500)
BEGIN
     RETURN rand();
END//
DELIMITER ;  

暂时解决了随机排序取数据问题,这样子在ef中OrderBy(c => Guid.NewGuid()) 就不会报错了,而且能正常随机排序。

如果其他朋友有更好的解决方案可以告诉下我哈

原文地址:https://www.cnblogs.com/jizhixiaofei/p/9230713.html

时间: 2024-10-16 12:50:24

EntityFramework在Mysql中随机排序问题的相关文章

MySQL 中随机获取数据

由于需要大概研究了一下MYSQL的随机抽取实现方法. 目前采用的方法: SELECT * FROM tablename ORDER BY RAND() LIMIT 1 实现原理: 通过ORDER BY RAND()来打乱数据的排序,LIMIT 来限制获取数据的条数. 缺点: 效率低.在进行大数据量检索时,会增加检索时间.一个15万余条的库,查询5条数据,居然要8秒以上. 官方手册说明,rand()放在ORDER BY 子句中会被执行多次,自然效率很低.

mysql中随机插入9000 000条数据

package query; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Random; import java.util.jar.Attributes.Name; public class query { public s

MYSQL 中随机读取一条数据

SELECT * FROM res AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM res) - (SELECT MIN(id) FROM res)) + (SELECT MIN(id) FROM res)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 1; select * FROM `res` AS t1 JOIN(SELECT ROUND(RAND()*((SE

Oracle中随机抽取N条记录

一.Oracle取随机数据  1.Oracle访问数据的基本方法:  1).全表扫描(Full table Scan):执行全表扫描,Oracle读表中的所有记录,考查每一行是否满足WHERE条件.Oracle顺序的读分配给该表的每一个数据块,且每个数据块Oracle只读一次.这样全表扫描能够受益于多块读. 2).采样表扫描(sample table scan):扫描返回表中随机采样数据,这种访问方式需要在FROM语句中包含SAMPLE选项或者SAMPLE BLOCK选项.     注:从Ora

从SQLSERVER/MYSQL数据库中随机取一条或者N条记录

原文:从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO CREATE TABLE RANDTEST(ID INT DEFAULT RAND()*100,NAME NVARCHAR(200) DEFAULT 'nihao') GO CREATE INDEX IX_RANDTEST_ID ON RANDTEST(ID)

MySQL中order by中关于NULL值的排序问题

MySQL中order by 排序遇到NULL值的问题 MySQL数据库,在order by排序的时候,如果存在NULL值,那么NULL是最小的,ASC正序排序的话,NULL值是在最前面的. 如果我们想让NULL排在后面,让非NULL的行排在前面该怎么做呢? MySQL数据库在设计的时候,如果字段允许NULL值,那么对该字段进行排序的时候需要注意那些值为NULL的行. 我们知道NULL的意思表示什么都不是,或者理解成"未知"也可以,它与任何值比较的结果都是false, 默认情况下,My

说说MySQL中的Redo log Undo log都在干啥

阅读目录(Content) 1 undo 1.1 undo是啥 1.2 undo参数 1.3 undo空间管理 2 redo 2.1 redo是啥 2.2 redo 参数 2.3 redo 空间管理 3 undo及redo如何记录事务 3.1 Undo + Redo事务的简化过程 3.2  IO影响 3.3 恢复 在数据库系统中,既有存放数据的文件,也有存放日志的文件.日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要描述存放日志的文件. MySQL中的日志文件,

mysql中,主键与普通索引

一.什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里面的记录数量越多,这个操作的代价就越高.如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置.如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍. 假设我们创建了一个名为people的表: CREATE TABLE people ( pe

MVC3、如何应用EntityFramework 连接MySql 数据库

原文:MVC3.如何应用EntityFramework 连接MySql 数据库 新的一年,新的开始. 今天总结的主题是在MySql中应用EntityFramework 的Code First模式. 开发环境:Win8 + MySql5.5 +VS 2012. 第一步是在数据库中新建一个表,具体字段如下图. 在表中添加若干数据: 数据建好之后,下面就是在项目中引用EntityFramework了. 二,在项目中新建一个实体类Product public class Product    {