首页 > 解决方案 > EF Core 5:不要为属性创建索引(使用外键)

问题描述

.NET Core 3.1、EF Core 5.0 预览版 6

你好,

我有外键,但不想为这个属性创建索引(我需​​要创建与“经典”EF 6 相同的数据库)。

我的配置:

entity.HasOne(d => d.Tenant)
    .WithMany()
    .HasForeignKey(d => d.TenantId)
    .OnDelete(DeleteBehavior.ClientSetNull)
    .HasConstraintName("FK_MyFKName");

但这会产生:

CONSTRAINT [FK_MyFKName] FOREIGN KEY ([TenantId]) REFERENCES [dbo].[Tenant] ([TenantId])

CREATE NONCLUSTERED INDEX [IX_Contact_TenantId]
    ON [dbo].[Contact]([TenantId] ASC);
GO

如何禁用创建索引?或者这在 EF Classic 中是不正确的,我必须同时拥有 FK 和 Index?

标签: c#entity-frameworkentity-framework-coreentity-framework-migrations

解决方案


推荐阅读