-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Let's say we have the next models:
public class Vacancy
{
public required Guid Id { get; set; }
public required VacancyOrigin Origin { get; set; }
}
[ComplexType]
public record VacancyOrigin
{
public required VacancySource Source { get; init; }
public required string ExternalId { get; init; }
}
public enum VacancySource
{
Source1,
Source2,
Source3
}and the next configurations:
internal sealed class VacancyConfiguration : IEntityTypeConfiguration<Vacancy>
{
public void Configure(EntityTypeBuilder<Vacancy> builder)
{
builder.HasComplexCompositeIndex(
vacancy => new { vacancy.Origin.Source, vacancy.Origin.ExternalId },
isUnique: true);
}
}This is a result of dotnet ef migrations add ...:
public partial class AddUniqueIndexOnVacancySourceAndExternalId : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateIndex(
name: "IX_Vacancies_Source_ExternalId",
table: "Vacancies",
columns: new[] { "Source", "ExternalId" },
unique: true);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropIndex(
name: "IX_Vacancies_Source_ExternalId",
table: "Vacancies");
}
}This migration is wrong because of incorrect column names. The columns parameter should be the next:
columns: new[] { "Origin_Source", "Origin_ExternalId" },
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels