相关疑难解决方法(0)

从Linq到Sql的随机行

当我有条件时,使用Linq to SQL检索随机行的最佳(和最快)方法是什么,例如某些字段必须为true?

.net c# linq-to-sql

110
推荐指数
5
解决办法
6万
查看次数

EF Code First:如何获取随机行

如何构建一个查询随机行的查询?

如果我在SQL中编写它,那么我会在newid()上输入一个命令并从顶部删除n行.无论如何要先在EF代码中执行此操作?

我尝试创建一个使用newid()并使用DbSet.SqlQuery()执行它的查询.虽然它有效,但它不是最干净的解决方案.

此外,尝试检索所有行并通过新guid对它们进行排序.尽管行数相当小,但它仍然不是一个好的解决方案.

有任何想法吗?

c# entity-framework ef-code-first entity-framework-4.1

68
推荐指数
3
解决办法
3万
查看次数

实体框架包括OrderBy随机生成重复数据

当我从包含一些孩子的数据库中检索项目列表(通过.Include),并随机排序时,EF给我一个意想不到的结果..我创建/克隆添加项目..

为了更好地解释自己,我创建了一个小而简单的EF CodeFirst项目来重现问题.首先,我将为您提供此项目的代码.

该项目

创建一个基本的MVC3项目,并通过Nuget添加EntityFramework.SqlServerCompact包.
这会添加以下软件包的最新版本:

  • EntityFramework v4.3.0
  • SqlServerCompact v4.0.8482.1
  • EntityFramework.SqlServerCompact v4.1.8482.2
  • WebActivator v1.5

模型和DbContext

using System.Collections.Generic;
using System.Data.Entity;

namespace RandomWithInclude.Models
{
    public class PeopleContext : DbContext
    {
        public DbSet<Person> Persons { get; set; }
        public DbSet<Address> Addresses { get; set; }
    }

    public class Person
    {
        public int ID { get; set; }
        public string Name { get; set; }

        public virtual ICollection<Address> Addresses { get; set; }
    }

    public class Address
    {
        public int ID { get; set; …
Run Code Online (Sandbox Code Playgroud)

linq random asp.net-mvc entity-framework sql-order-by

17
推荐指数
4
解决办法
6460
查看次数

使用Entity Framework和MySQL的随机顺序

简介:我想找到一种使用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中使用自定义功能?

c# mysql entity-framework

6
推荐指数
1
解决办法
2993
查看次数

随机化实体框架查询结果

下午好,

我有一个使用 linqdatasource + 实体框架 iqueryable 查询填充的列表视图。

该查询使用如下所示的 take(t-sql 上的 top):

context.Categories().OrderBy(c=>c.Name).Take(20);
Run Code Online (Sandbox Code Playgroud)

它为我提供了我想要按名称排序的 20 条记录。

现在我想按随机顺序显示这 20 条记录。完成此任务的最佳方法是什么?

asp.net entity-framework

5
推荐指数
1
解决办法
4492
查看次数

如何从数组中提取3个随机值?

我用以下代码构建MyObject数组:

    MyObject[] myObject = (from MyObject varObj in MyObjects
                           select varObj).ToArray();
Run Code Online (Sandbox Code Playgroud)

现在,我想从这个数组中提取3个随机MyObject!我怎么能在C#上做到这一点?

当然,如果数组长度<3,我需要提取所有对象!

c#

1
推荐指数
1
解决办法
315
查看次数