相关疑难解决方法(0)

实体框架代码First Fluent Api:向列添加索引

我正在运行EF 4.2 CF并想在我的POCO对象的某些列上创建索引.

举个例子,假设我们有这个员工类:

public class Employee
{
  public int EmployeeID { get; set; }
  public string EmployeeCode { get; set; }
  public string FirstName { get; set; }
  public string LastName { get; set; }
  public DateTime HireDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我们经常通过EmployeeCode对员工进行搜索,因为有很多员工,因为性能原因而将索引编入索引会很不错.

我们能用流利的api以某种方式做到这一点吗?或者数据注释?

我知道可以执行这样的sql命令:

context.Database.ExecuteSqlCommand("CREATE INDEX IX_NAME ON ...");
Run Code Online (Sandbox Code Playgroud)

我非常想避免那样的原始SQL.

我知道这不存在,但寻找沿着这些方向的东西:

class EmployeeConfiguration : EntityTypeConfiguration<Employee>
    {
        internal EmployeeConfiguration()
        {
            this.HasIndex(e => e.EmployeeCode)
                .HasIndex(e => e.FirstName)
                .HasIndex(e => e.LastName);
        }
    }
Run Code Online (Sandbox Code Playgroud)

或者使用System.ComponentModel.DataAnnotationsPOCO可能看起来像这样(我知道这不存在):

public class Employee
{ …
Run Code Online (Sandbox Code Playgroud)

c# fluent-interface entity-framework-4 data-annotations ef-code-first

63
推荐指数
7
解决办法
6万
查看次数

实体框架6.1 - 使用INCLUDE语句创建索引

那么现在在最新测试版的Entity Framework 6.1中可以使用索引,是否可以在代码优先方法中创建一个与此SQL语句相同的索引?

CREATE NONCLUSTERED INDEX [Sample1]
ON [dbo].[Logs] ([SampleId],[Date])
INCLUDE ([Value])
Run Code Online (Sandbox Code Playgroud)

sql indexing entity-framework

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

如何使用Entity Framework Core创建聚簇索引

从EF6.1开始,我们可以在属性上指定聚簇索引

public class Person 
{
  [Index(IsClustered = true, IsUnique = true)]
  public long UserName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是这个Index属性现在似乎不在EF Core中?在EF Core中你是如何实现这一目标的?

entity-framework clustered-index entity-framework-core

8
推荐指数
3
解决办法
6866
查看次数

非群集主要密钥实体框架代码优先

在Entity Framework Code First方法中,我们可以将主键定义为非聚簇索引,并将其他几个字段组合为聚簇索引.

谢谢

indexing entity-framework-6

6
推荐指数
3
解决办法
5444
查看次数

在主键实体框架6.0上创建非聚集索引

我知道这一点,它表明不可能首先通过代码创建具有非聚集索引的主键.这仍然是这样吗?

理想情况下,我想通过EntityTypeConfiguration指定我的主键(Guid)有一个非聚集索引,还有另一个列(int)带有聚簇索引.

entity-framework entity-framework-6

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