Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Entity Framework Migrations Error - Sequence contains no elements

command: add-migration blahblah -verbose
error: Sequence contains no elements

I did a few things before getting this error. I made a change to my code-first model but did not runadd-migration yet. Then I added an EDMX model to play around with an idea visually. I realized the EDMX model was messing with my code so I removed it. I tried to run add-migration and got "Sequence contains no elements". I upgraded to EF 5 and uninstalled the old Migrations package except for my configurations. Then I tried add-migration again and I am still getting "Sequence contains no elements". Below is the rest of the error.

System.InvalidOperationException: Sequence contains no elements
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
   at System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.GetQualifiedTableName(XDocument model, String entitySetName)
   at System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.<FindRenamedIndependentAssociationColumns>b__ba(<>f__AnonymousType16`2 <>h__TransparentIdentifieraa)
   at System.Linq.Enumerable.<>c__DisplayClass12`3.<CombineSelectors>b__11(TSource x)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.<ConcatIterator>d__71`1.MoveNext()
   at System.Linq.Enumerable.<ConcatIterator>d__71`1.MoveNext()
   at System.Linq.Enumerable.<DistinctIterator>d__81`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.Diff(XDocument sourceModel, XDocument targetModel, String connectionString)
   at System.Data.Entity.Migrations.DbMigrator.Scaffold(String migrationName, String namespace, Boolean ignoreChanges)
   at System.Data.Entity.Migrations.Design.MigrationScaffolder.Scaffold(String migrationName, Boolean ignoreChanges)
   at System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Scaffold(MigrationScaffolder scaffolder)
   at System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.RunCore()
   at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.Run()
Sequence contains no elements
like image 915
Benjamin Avatar asked Sep 19 '12 18:09

Benjamin


3 Answers

This problem occurs to me when a try to define type and size of a column with DataAnnotations.

BAD:

[Column(TypeName="VARCHAR(254)")]
public string ColumnName { get; set; }

OK:

[MaxLength(254)]
[Column(TypeName="VARCHAR")]
public string ColumnName { get; set; }
like image 71
Fábio Correia Avatar answered Nov 18 '22 05:11

Fábio Correia


What was causing the issue for me was changing the name together with changing the relations associated with the entity.

So my resolution in my case was:

  • Changing the name back to the old one
  • Adding the migration (then was able to do it)
  • Updating the database
  • Changing the name of the entity and generating a new migration

There can be potentially many other causes of this issue, though - e.g. removing the migration after it was applied. Unfortunately, in none of them this error is meaningful.

like image 6
Krzysiek Avatar answered Nov 18 '22 04:11

Krzysiek


Looks like a bug. Do you mind filing it at http://entityframework.codeplex.com/workitem/list/advanced with details allowing to reproduce the problem?

like image 2
Pawel Avatar answered Nov 18 '22 04:11

Pawel