注册

EFCore无法指定Clob和Blob类型,Guid类型默认映射为varchar(36),存在兼容性问题

李朋 2023/03/24 1295 1

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8(–03134283938-20221019-172201-20018)
【操作系统】:windows 10 64位
【CPU】:i5-10500
【问题描述】*:

对于string和byte[]类型,未指定长度情况下,EFCore生成的数据库字段类型为NVARCHAR2(8188)和VARBINARY(8188),造成大字符串或大二进制内容会受到长度限制。对于Guid类型,EFCore生成的数据库字段类型为varchar(36),当数据配置VARCHAR类型以字符为单位时,EFCore查询存在兼容性问题。
image.png
image.png

当数据库配置VARCHAR类型以字符为单位时,所有的包含GUID字段的查询都会报错。

程序中这个字段类型为guid,efcore dm里面会判断字段精度不为36就直接throw exception
image.png

回答 0
暂无回答
扫一扫
联系客服