null从c#转换为'null '在Sql Server中

本文关键字:null Sql Server 转换 | 更新日期: 2023-09-27 18:06:30

我试图在Sql Server中插入NULL值,如果我在相应的c#字符串对象中有空值,如下所示:

String Residence = xmlDoc.Descendants("Appointment").Single().Element("StateOfResidence") == null ? null : xmlDoc.Descendants("Appointment").Elements("StateOfResidence").Single().Value;

我使用实体框架数据库访问。如果Residence是null, 'NULL'会插入到数据库中,而不是null。如何为NULL插入NULL ?

null从c#转换为'null '在Sql Server中

实体框架应该为你处理这个,所以你的问题是

xmlDoc.Descendants("约会").Single () .Element (StateOfResidence)

实际上有字符串值"NULL"

你可以改变你的逻辑说

String Residence = xmlDoc.Descendants("Appointment").Single().Element("StateOfResidence");
if(Residence == "NULL")
{
    Residence = null;
}

,但这是一个有点hacky真的-我个人想看看为什么你的xml实际上有字符串值"NULL"在什么可能应该是空节点,如果xml是在你的控制

数据库的空值与c#中使用的常规空值类型不同。因此,要在数据库中插入空值,必须使用以下代码类型,而不是null"NULL"

DBNull.Value