Microsoft.EntityFrameworkCore 7.0.3 Add-Migration приводит к ошибке «Последовательность не содержит элементов»C#

Место общения программистов C#
Ответить
Anonymous
 Microsoft.EntityFrameworkCore 7.0.3 Add-Migration приводит к ошибке «Последовательность не содержит элементов»

Сообщение Anonymous »

ASP.NET Core Web App, ориентированный на .Net 7. Началось с файлов как части шаблона создания нового проекта. Помимо файлов страниц (cshtml и cs), поставляемых с шаблоном, было создано всего несколько десятков моделей и куча метаинформации в ApplicationDbContext, которая дополнительно определяет поля базы данных. Например:

Код: Выделить всё

b.Property("Mailing_City")
.HasMaxLength(50)
.HasColumnType("VARCHAR")
.HasColumnName("Mailing_City")
.HasComment("Indicates the client's current city to send mail.");
При создании моделей много раз добавлялись/удалялись миграции, а также без проблем обновлялась база данных. Теперь, когда все модели готовы, приступили к обновлению пакетов NuGet до последней стабильной версии. Любой пакет, который зависит от Microsoft.EntityFrameworkCore 7.0.3 или выше, похоже, выдает ошибку «Последовательность не содержит элементов». Конкретная ошибка в консоли диспетчера пакетов:

Код: Выделить всё

System.InvalidOperationException: Sequence contains no elements
at System.Linq.ThrowHelper.ThrowNoElementsException()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at Microsoft.EntityFrameworkCore.Update.Internal.CommandBatchPreparer.Format(IReadOnlyModificationCommand command, StringBuilder builder)
at Microsoft.EntityFrameworkCore.Update.Internal.CommandBatchPreparer.FormatCycle(IReadOnlyList`1 data)
at Microsoft.EntityFrameworkCore.Utilities.Multigraph`2.ThrowCycle(List`1 cycle, Func`2 formatCycle, Func`2 formatException)
at Microsoft.EntityFrameworkCore.Utilities.Multigraph`2.TopologicalSortCore(Boolean withBatching, Func`4 tryBreakEdge, Func`2 formatCycle, Func`2 formatException)
at Microsoft.EntityFrameworkCore.Utilities.Multigraph`2.BatchingTopologicalSort(Func`4 tryBreakEdge, Func`2 formatCycle, Func`2 formatException)
at Microsoft.EntityFrameworkCore.Update.Internal.CommandBatchPreparer.TopologicalSort(IEnumerable`1 commands)
at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.GetDataOperations(Boolean forSource, DiffContext diffContext)+MoveNext()
at System.Linq.Enumerable.ConcatIterator`1.MoveNext()
at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.GetDataOperations(IRelationalModel source, IRelationalModel target, DiffContext diffContext)+MoveNext()
at System.Linq.Enumerable.ConcatIterator`1.MoveNext()
at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.Sort(IEnumerable`1 operations, DiffContext diffContext)
at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.GetDifferences(IRelationalModel source, IRelationalModel target)
at Microsoft.EntityFrameworkCore.Migrations.Design.MigrationsScaffolder.ScaffoldMigration(String migrationName, String rootNamespace, String subNamespace, String language)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration(String name, String outputDir, String contextType, String namespace)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name, String outputDir, String contextType, String namespace)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigration.c__DisplayClass0_0.b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.c__DisplayClass3_0`1.b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Sequence contains no elements
Переустановка пакета версии 7.0.2 обеспечивает успешную миграцию.
Поиск возможных исправлений указывает на использование .FirstOrDefault вместо .First for результат запроса, а также различные критерии запроса, которые не будут выполнены при отсутствии результатов. Выполнили поиск по всему решению для first(, single( и т. д., как предложено в разделе "Последовательность не содержит элементов?" и других страниц. Единственное место, где они перечислены, — это файлы начальной загрузки или jquery, которые входят в состав шаблона.
Проверили, соответствуют ли аннотации данных

Код: Выделить всё

[Column("Msg", TypeName = "varchar")]
[MaxLength(1024)]
вместо [Column("Msg", TypeName = "varchar(1024)")]. Это было проверено как в файлах Model, так и в файлах ApplicationDbContext.
Поиск в Интернете не выявил ничего конкретного для версии 7.0.3.
Я' Мне бы хотелось исправить эту ошибку, обновив пакеты до самой последней версии, прежде чем я начну создавать реальные страницы, на которых будут запросы, в которых это может быть ошибкой.
Любые указатели о дополнительных вещах, которые нужно искать? Нужна дополнительная информация?

Подробнее здесь: https://stackoverflow.com/questions/761 ... e-contains
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»