首页 > 解决方案 > 如何防止实体框架在数据库优先方法中将空字符串转换为 null

问题描述

我必须在 oracle db 的不可为空的 varchar 字段中插入空字符串。我要保存的对象的属性设置为空字符串,但是当我调用SaveChanges时出现错误,因为 EF 将我的空字符串转换为 null。我知道,在代码优先方法中,您可以使用ConvertEmptyStringToNull=false :有没有办法通过数据库优先方法实现相同的行为?

标签: entity-frameworkef-database-first

解决方案


看来,在 Oracle 中(至少现在),空字符串被视为 null。因此,无法在 varchar 字段中保存空字符串。

注意:Oracle 数据库当前将长度为零的字符值视为空值。但是,在未来的版本中,这可能不会继续存在,Oracle 建议您不要将空字符串视为与 null 相同。

资源


推荐阅读