如何解决如何将自动增量 int 更改为 guid
如何将自动增量 int 的数据类型更改为 GUID?
我正在尝试更改我定义的 pk 的数据类型,如下所示:
[Id] INT IDENTITY (1,1) NOT NULL
...给向导。
在我的模型中,我只是更改了数据类型
然后我运行了这两个命令:
add-migration myIntToGuid
update-database
运行 update-database
后,我得到了这个:
PM> Update-Database
Specify the '-Verbose' flag to view the sql statements being applied to the target database.
Applying explicit migrations: [202101272031026_changeIdToGuid].
Applying explicit migration: 202101272031026_changeIdToGuid.
System.Data.sqlClient.sqlException (0x80131904): Identity column 'Id' must be of data type int,bigint,smallint,tinyint,or decimal or numeric with a scale of 0,unencrypted,and constrained to be nonnullable.
at System.Data.sqlClient.sqlConnection.OnError(sqlException exception,Boolean breakConnection,Action`1 wrapCloseInAction)
at System.Data.sqlClient.sqlInternalConnection.OnError(sqlException exception,Action`1 wrapCloseInAction)
如何将自动增量 int 的数据类型更改为 GUID?
解决方法
如果您像我想的那样使用 SQL Server,则不能将标识列更改为 guid。
标识列必须始终是受支持的类型之一。
最常见的方法是通过使用 IDENTITY 列属性或指定唯一标识符 (GUID) 数据类型以及使用 NEWID() 或 NEWSEQUENTIALID() 函数进行默认设置。
或者成为这里的关键词。正如评论中所建议的,请遵循此处的指导:How can I change an int ID column to Guid with EF migration?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。