Entity framework core 如何在Pomelo.EntityFrameworkCore.MySql中获取随机记录?

Entity framework core 如何在Pomelo.EntityFrameworkCore.MySql中获取随机记录?,entity-framework-core,Entity Framework Core,我目前正在使用此方法: .OrderBy(s => Guid.NewGuid()) .Take(10) ... 但后来我注意到日志中有一条警告: The LINQ expression 'orderby NewGuid() asc' could not be translated and will be evaluated locally. 我使用的是Pomelo.EntityFrameworkCore.MySql 1.1.1是否要检索随机记录或.OrderBy()随机?Guid.Ne

我目前正在使用此方法:

.OrderBy(s => Guid.NewGuid())
.Take(10)
...
但后来我注意到日志中有一条警告:

The LINQ expression 'orderby NewGuid() asc' could not be
translated and will be evaluated locally.

我使用的是Pomelo.EntityFrameworkCore.MySql 1.1.1

是否要检索随机记录或
.OrderBy()
随机?
Guid.NewGuid()
每次调用它时都会创建一个新的随机Guid。我相信这个查询会给你随机选择的10条记录。显示无法将order by转换为SQL的警告。要允许转换,首先应该在数据库中提供等效的方法&您的EF提供者应该有转换器来进行转换。在EFCore.SqlServer中,它将
Guid.NewGuid()
转换为SQL server上的
NEWID
。尝试在他们的GitHub repo上提交一个问题。@Smit我分叉了库,并为
Guid创建了一个转换器。NewGuid
,只有在MySQL中实现
UUID()
才会给出相同的值——至少每个查询一个。然后我转入MySQL的
rand()
,但我遇到了一个问题,目前跳过了该任务。@Smit-
Guid.NewGuid()
每次调用它时都会生成一个唯一的Guid。不能保证它是随机的。@Enigmativity huh??是要检索随机记录还是
.OrderBy()
随机?
Guid.NewGuid()
每次调用它时都会创建一个新的随机Guid。我相信这个查询会给你随机选择的10条记录。显示无法将order by转换为SQL的警告。要允许转换,首先应该在数据库中提供等效的方法&您的EF提供者应该有转换器来进行转换。在EFCore.SqlServer中,它将
Guid.NewGuid()
转换为SQL server上的
NEWID
。尝试在他们的GitHub repo上提交一个问题。@Smit我分叉了库,并为
Guid创建了一个转换器。NewGuid
,只有在MySQL中实现
UUID()
才会给出相同的值——至少每个查询一个。然后我转入MySQL的
rand()
,但我遇到了一个问题,目前跳过了该任务。@Smit-
Guid.NewGuid()
每次调用它时都会生成一个唯一的Guid。不能保证它是随机的。@Enigmativity,嗯??