使用Entity Framework和MySQL的随机顺序

Dad*_*dor 6 c# mysql entity-framework

简介:我想找到一种使用Entity Framework和MySQL进行随机排序的方法(这很重要).该解决方案不应使用原始SQL查询或在从数据库加载所有值后进行排序.

我尝试过的:

我想从使用NewGuid()获得该答案的随机顺序.

码:

var query = from e in context.Table
orderby Guid.NewGuid()
select e;
var test = query.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

总是抛出异常:

An error occurred while executing the command definition. See the inner exception for details.
Inner exception:
FUNCTION MyDatabase.NewGuid does not exist System.Exception {MySql.Data.MySqlClient.MySqlException}
Run Code Online (Sandbox Code Playgroud)

似乎问题是MySQL没有NewGuid()函数.

我怎样才能通过MySQL函数RAND()来代替NewGuid().换句话说,如何RAND在Entity Framework中使用自定义功能?

小智 -1

这可能对你有帮助

var yourRecords = context.Table().OrderBy(c=>c.Name);

yourRecords = yourRecords.OrderBy(a => Guid.NewGuid());
Run Code Online (Sandbox Code Playgroud)