我刚在项目中添加了这些行> DataLayer> Property.cs
public Property()
{
this.Amenties = new List<Amenity>();
}
public string Latitude { get; set; }
public string Longitude { get; set; }
public virtual ICollection<Amenity> Amenties { get; set; }
并在我的项目&gt; DataLayer&gt; Amenties.cs
public virtual ICollection<Property> Properties { get; set; }
在运行update-database
时获取以下输出 PM> update-database
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Applying explicit migrations: [201509141729336_PropLatLongAmt].
Applying explicit migration: 201509141729336_PropLatLongAmt.
Running Seed method.
System.InvalidOperationException: Sequence contains more than one element
at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
at System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__2[TResult](IEnumerable`1 sequence)
at System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot)
at System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[TResult](Expression expression)
at System.Data.Entity.Internal.Linq.DbQueryProvider.Execute[TResult](Expression expression)
at System.Linq.Queryable.SingleOrDefault[TSource](IQueryable`1 source, Expression`1 predicate)
at System.Data.Entity.Migrations.DbSetMigrationsExtensions.AddOrUpdate[TEntity](DbSet`1 set, IEnumerable`1 identifyingProperties, InternalSet`1 internalSet, TEntity[] entities)
at System.Data.Entity.Migrations.DbSetMigrationsExtensions.AddOrUpdate[TEntity](IDbSet`1 set, Expression`1 identifierExpression, TEntity[] entities)
at SitefinityWebApp.Migrations.Configuration.Seed(TopSpotDbContext context) in e:\My Work\salman\Topspot\SitefinityWebApp\Web\Migrations\Configuration.cs:line 40
at System.Data.Entity.Migrations.DbMigrationsConfiguration`1.OnSeed(DbContext context)
at System.Data.Entity.Migrations.DbMigrator.SeedDatabase()
at System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.SeedDatabase()
at System.Data.Entity.Migrations.DbMigrator.Upgrade(IEnumerable`1 pendingMigrations, String targetMigrationId, String lastMigrationId)
at System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.Upgrade(IEnumerable`1 pendingMigrations, String targetMigrationId, String lastMigrationId)
at System.Data.Entity.Migrations.DbMigrator.UpdateInternal(String targetMigration)
at System.Data.Entity.Migrations.DbMigrator.<>c__DisplayClassc.<Update>b__b()
at System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase)
at System.Data.Entity.Migrations.Infrastructure.MigratorBase.EnsureDatabaseExists(Action mustSucceedToKeepDatabase)
at System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration)
at System.Data.Entity.Migrations.Infrastructure.MigratorBase.Update(String targetMigration)
at System.Data.Entity.Migrations.Design.ToolingFacade.UpdateRunner.Run()
at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
at System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner)
at System.Data.Entity.Migrations.Design.ToolingFacade.Update(String targetMigration, Boolean force)
at System.Data.Entity.Migrations.UpdateDatabaseCommand.<>c__DisplayClass2.<.ctor>b__0()
at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
Sequence contains more than one element
没有重复的字段已经检查过,只有一个Latitude和一个Longitude和Amenties我已经在整个(POCO)属性类中添加了。 我在运行update-database一次之前运行了add-migration
答案 0 :(得分:0)
尝试将Property类和Properties属性重命名为其他内容。可能是这些是导致这个问题的保留字。
答案 1 :(得分:0)
通过调试update-database
找到问题Debug code-first Entity Framework migration codes
我确实尝试恢复我所做的更改并仍然收到相同的错误,所以我按照上面链接中的说明发现错误是在 第40行,如堆栈输出中所示
at SitefinityWebApp.Migrations.Configuration.Seed(TopSpotDbContext context) in PROJECT_DIRECTORY\SitefinityWebApp\Web\Migrations\Configuration.cs:line 40