C# 第二次迁移时实体框架核心编译器错误
我有一个DBContext(从IdentityDbContext继承)保存ASP.NET标识表和一些自定义表 我为它创建了一个迁移,效果很好 现在,我向DbContext添加了一些dbset,并调用C# 第二次迁移时实体框架核心编译器错误,c#,entity-framework-core,entity-framework-migrations,entity-framework-core-migrations,entity-framework-core-2.2,C#,Entity Framework Core,Entity Framework Migrations,Entity Framework Core Migrations,Entity Framework Core 2.2,我有一个DBContext(从IdentityDbContext继承)保存ASP.NET标识表和一些自定义表 我为它创建了一个迁移,效果很好 现在,我向DbContext添加了一些dbset,并调用 dotnet ef migrations add SecondMigration ... 这会在创建迁移后导致2个编译器错误 Duplicate 'DbContext' attribute 及 我不明白为什么会这样,因为两天前我在一个不同的项目中做了完全相同的事情(对于不同的dbcontext,
dotnet ef migrations add SecondMigration ...
这会在创建迁移后导致2个编译器错误
Duplicate 'DbContext' attribute
及
我不明白为什么会这样,因为两天前我在一个不同的项目中做了完全相同的事情(对于不同的dbcontext,而不是继承自identitydbcontext),而且它工作起来没有问题
这件事现在已经让我有点疯狂了
你知道第二次出现编译器错误的原因是什么吗?最后我找到了原因。不幸的是,这不是问题的根源,但至少是一个手动修复 addmigrations命令为每个迁移创建一个名称空间 所以我有…迁移。第一次迁移和…迁移。第二次迁移 在创建第二次迁移期间,它会创建文件
- Timestamp_SecondMigration.cs
- 时间戳_SecondMigration.Designer.cs
- IdDbContextModelSnapshot.cs
如果有1个DbContext和3个迁移,是应该有1个ModelSnapshot还是应该有3个ModelSnapshot?您可以共享一个代码来重现问题吗?尝试指定要为其创建迁移的迁移类
dotnet ef迁移添加SecondMigration--context DbContext
不幸的是我不能。我指定了-o output dir,-p项目,-s一个启动项目,它应该是3个模型快照,因为每个快照根据数据提供程序而有所不同
Type 'IdDbContext' already defines a member called 'BuildModel' with the same paramter types.