【小提示】使用.NET Core EF 开发时,当你的数据库实体中添加了“Id”的字段时,会默认做为主键。
在设置数据库字段类型时如果设置了varchar或者char字段的长度为36时(36是微软GUID的长度),并且数据存储的数据正好是Guid字符串时,在使用EF查询数据库时EF会自动把数据类型转为Guid类型,如果你的数据库实体类中对应的字段正好是string类型时会抛出以下异常:
An exception occurred while reading a database value for property ‘XXX.Id‘. The expected type was ‘System.String‘ but the actual value was of type ‘System.Guid‘.
1、修改字段类型为Guid
2、修改数据库字段长度
以上两个方法都可以解决该异常
CORE EF The expected type was 'System.String' but the actual value was of type 'System.Guid'.
原文地址:https://www.cnblogs.com/minther/p/10273410.html
时间: 2024-10-15 07:29:38