相关疑难解决方法(0)

使用Entity Framework 6.1流畅的API创建唯一索引

我有一个列"名称",必须是unqiue.没有外国钥匙或类似的东西.

EF 6.1最终支持通过Annotations创建此类索引.已在SO上讨论过这个问题.但它似乎只能通过类中的注释来完成.如何仅使用Fluent API执行此操作?

像这样的东西:

public class PersonConfiguration : EntityTypeConfiguration<Person>
{
    public PersonConfiguration()
    {
        HasKey(p => p.Id);
        Property(p => p.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

        //not possible?
        Index(p => p.Name).IsUnique();  //???
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework fluent-interface entity-framework-6

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

实体框架筛选索引

我使用EF 6.1.x Code First.

我已经读过EF最新版本不支持带过滤器表达式的索引.

SO上也没有解决方案:

EF 6.1独特的可空指数

一年后,使用Code First和DbMigrations使过滤器索引工作的工作方式是什么?

CREATE UNIQUE NONCLUSTERED INDEX [IX_DefaultLanguageApplicationId] ON [dbo].[Languages]
(
    [IsDefaultLanguage] ASC,
    [ApplicationId] ASC,
)
WHERE ([IsDefaultLanguage]=(1))
Run Code Online (Sandbox Code Playgroud)

entity-framework ef-code-first entity-framework-6

25
推荐指数
2
解决办法
5067
查看次数

Entity Framework Code First 如何按降序创建索引?

在 Fluent API 中,我们可以在字段上指定索引:

var indexAttr = new IndexAttribute("IX_EmployeeNumber")
{
    IsClustered = true
};

Property(c => c.EmployeeNumber)
    .HasColumnAnnotation("Index", new IndexAnnotation(indexAttr ))
    .HasMaxLength(8)
    .IsRequired();
Run Code Online (Sandbox Code Playgroud)

之后Add-Migration,我们会得到这样的CreateIndex语句:

CreateIndex("dbo.Employees", "EmployeeNumber", clustered: true, name: "IX_EmployeeNumber");
Run Code Online (Sandbox Code Playgroud)

在a之后Update-Database,我们有一个像这样的sql:

CREATE CLUSTERED INDEX [IX_EmployeeNumber] ON [dbo].[Employees]
(
    [EmployeeNumber] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何按降序创建这个索引?就像是:

CREATE CLUSTERED INDEX [IX_EmployeeNumber] ON [dbo].[Employees]
(
    [EmployeeNumber] …
Run Code Online (Sandbox Code Playgroud)

entity-framework ef-code-first entity-framework-migrations

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