请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

update-database 报错

老师,我执行updata-database时报错:
图片描述

PM> update-database
Build started...
Build succeeded.
System.InvalidCastException: Unable to cast object of type 'System.Guid' to type 'System.String'.
   at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerStringTypeMapping.GenerateNonNullSqlLiteral(Object value)
   at Microsoft.EntityFrameworkCore.Storage.RelationalTypeMapping.GenerateProviderValueSqlLiteral(Object value)
   at Microsoft.EntityFrameworkCore.Update.UpdateSqlGenerator.AppendSqlLiteral(StringBuilder commandStringBuilder, ColumnModification modification, String tableName, String schema)
   at Microsoft.EntityFrameworkCore.Update.UpdateSqlGenerator.AppendWhereCondition(StringBuilder commandStringBuilder, ColumnModification columnModification, Boolean useOriginalValue)
   at Microsoft.EntityFrameworkCore.Update.UpdateSqlGenerator.<AppendWhereClause>b__21_0(StringBuilder sb, ColumnModification v)
   at System.Text.StringBuilderExtensions.AppendJoin[T](StringBuilder stringBuilder, IEnumerable`1 values, Action`2 joinAction, String separator)
   at Microsoft.EntityFrameworkCore.Update.UpdateSqlGenerator.AppendWhereClause(StringBuilder commandStringBuilder, IReadOnlyList`1 operations)
   at Microsoft.EntityFrameworkCore.Update.UpdateSqlGenerator.AppendUpdateCommand(StringBuilder commandStringBuilder, String name, String schema, IReadOnlyList`1 writeOperations, IReadOnlyList`1 conditionOperations)
   at Microsoft.EntityFrameworkCore.Update.UpdateSqlGenerator.AppendUpdateOperation(StringBuilder commandStringBuilder, ModificationCommand command, Int32 commandPosition)
   at Microsoft.EntityFrameworkCore.Migrations.MigrationsSqlGenerator.Generate(UpdateDataOperation operation, IModel model, MigrationCommandListBuilder builder)
   at Microsoft.EntityFrameworkCore.Migrations.SqlServerMigrationsSqlGenerator.<>n__2(UpdateDataOperation operation, IModel model, MigrationCommandListBuilder builder)
   at Microsoft.EntityFrameworkCore.Migrations.SqlServerMigrationsSqlGenerator.<>c__DisplayClass34_0.<Generate>b__0(MigrationCommandListBuilder b)
   at Microsoft.EntityFrameworkCore.Migrations.SqlServerMigrationsSqlGenerator.GenerateExecWhenIdempotent(MigrationCommandListBuilder builder, Action`1 generate)
   at Microsoft.EntityFrameworkCore.Migrations.SqlServerMigrationsSqlGenerator.Generate(UpdateDataOperation operation, IModel model, MigrationCommandListBuilder builder)
   at Microsoft.EntityFrameworkCore.Migrations.MigrationsSqlGenerator.<>c.<.cctor>b__83_30(MigrationsSqlGenerator g, MigrationOperation o, IModel m, MigrationCommandListBuilder b)
   at Microsoft.EntityFrameworkCore.Migrations.MigrationsSqlGenerator.Generate(MigrationOperation operation, IModel model, MigrationCommandListBuilder builder)
   at Microsoft.EntityFrameworkCore.Migrations.SqlServerMigrationsSqlGenerator.Generate(MigrationOperation operation, IModel model, MigrationCommandListBuilder builder)
   at Microsoft.EntityFrameworkCore.Migrations.MigrationsSqlGenerator.Generate(IReadOnlyList`1 operations, IModel model, MigrationsSqlGenerationOptions options)
   at Microsoft.EntityFrameworkCore.Migrations.SqlServerMigrationsSqlGenerator.Generate(IReadOnlyList`1 operations, IModel model, MigrationsSqlGenerationOptions options)
   at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.GenerateUpSql(Migration migration, MigrationsSqlGenerationOptions options)
   at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.<>c__DisplayClass16_2.<GetMigrationCommandLists>b__2()
   at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
   at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String connectionString, String contextType)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(String targetMigration, String connectionString, String contextType)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_0.<.ctor>b__0()
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Unable to cast object of type 'System.Guid' to type 'System.String'.

正在回答

1回答

请检查一下用户模型的id类型以及ApplicationDbContext的设置,报错显示“无法把guid转化为string”。或者你也可以试试把项目目录下的migration文件夹全部删掉,然后重新做dotnet ef add migration 以及 database update。如果还不行,请把代码发给我邮箱382231334@qq.com,一定一定要在技术群里at我一下,要不然你的邮件就沉了。。。


0 回复 有任何疑惑可以回复我~
  • 提问者 朱钢同学 #1
    谢谢,老师,删出migration文件夹再重新创建问题就解决了,但是这是什么原因呢老师
    回复 有任何疑惑可以回复我~ 2021-11-28 14:33:33
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号