Произошла ошибка при запуске сценария базы данных create + seed.
Невозможно вставить строку повторяющегося ключа в объект 'dbo.ResourceCategories' с уникальным индексом 'IX_UniqueResCatName'. Значение дублированного ключа (DSC20, DST20).
Это происходит в первой строке, которую я пытаюсь заполнить, но база данных определенно была отброшена и уничтожена.
My ResouceCategory.cs
файл настроен так, чтобы иметь уникальный индекс из 2 элементов, как обсуждено здесь
[MinLength(1), MaxLength(5)]
[Index("IX_UniqueResCatName", 1, IsUnique = true)]
public string Name { get; set; }
[MaxLength(50)]
[Index("IX_UniqueResCatName", 2, IsUnique = true)]
public string Description { get; set; }
Я автоматически сгенерировал Миграции для этого (который выполняется перед заполнением), исоответствующая часть выглядит как
CREATE UNIQUE INDEX [IX_UniqueResCatName]
ON [dbo].[ResourceCategories] ([Name], [Description])
И выдержка из начального SQL (запускается автоматически из сценария bash):
INSERT INTO [dbo].[ResourceCategories] ([Id], [Description], [Name], [IsActive], [CreatedByUser], [CreatedOn], [LastUpdatedByUser], [LastUpdatedOn])
VALUES (NEWID(), 'DST20', 'DSC20', 1, 'system', GETDATE(), 'system', GETDATE())
INSERT INTO [dbo].[ResourceCategories] ([Id], [Description], [Name], [IsActive],[CreatedByUser], [CreatedOn], [LastUpdatedByUser], [LastUpdatedOn])
VALUES (NEWID(), 'EPT10', 'EPC10', 1, 'system', GETDATE(), 'system', GETDATE())
INSERT INTO [dbo].[ResourceCategories] ([Id], [Description], [Name], [IsActive],[CreatedByUser], [CreatedOn], [LastUpdatedByUser], [LastUpdatedOn])
VALUES (NEWID(), 'EPT10', 'EPC11', 1, 'system', GETDATE(), 'system', GETDATE())
INSERT INTO [dbo].[ResourceCategories] ([Id], [Description], [Name], [IsActive], [CreatedByUser], [CreatedOn], [LastUpdatedByUser], [LastUpdatedOn])
VALUES (NEWID(), 'EPT10', 'EPC12', 1, 'system', GETDATE(), 'system', GETDATE())