我试图在Sql Server中插入NULL值,如果我在相应的C#String对象中有空值,如下所示:
String Residence = xmlDoc.Descendants("Appointment").Single().Element("StateOfResidence") == null ? null : xmlDoc.Descendants("Appointment").Elements("StateOfResidence").Single().Value;
我正在使用Entity框架进行数据库访问。因此,如果Residence为null,则'NULL'
将插入到Database而不是NULL中。如何为null插入NULL?
答案 0 :(得分:1)
数据库空值与您在C#中使用的常规空值的类型不同。因此,要将空值插入数据库,您必须使用以下代码类型,而不是null
或"NULL"
DBNull.Value
答案 1 :(得分:1)
实体框架应该为您处理此问题,因此您遇到的问题是
xmlDoc.Descendants("预约&#34)。单()元素(" StateOfResidence&#34)
实际上有字符串值" NULL"
你可以改变你的逻辑来说明
String Residence = xmlDoc.Descendants("Appointment").Single().Element("StateOfResidence");
if(Residence == "NULL")
{
Residence = null;
}
但实际上有点hacky - 我个人正在研究为什么你的xml实际上有字符串值" NULL"如果xml在你的控制之下,可能应该是空节点。