C#转换为'时为空;空';在Sql Server中

C#转换为'时为空;空';在Sql Server中,c#,sql,sql-server,entity-framework,C#,Sql,Sql Server,Entity Framework,如果对应的C#String对象中有空值,我将尝试在Sql Server中插入空值,如下所示: String Residence = xmlDoc.Descendants("Appointment").Single().Element("StateOfResidence") == null ? null : xmlDoc.Descendants("Appointment").Elements("StateOfResidence").Single().Value; 我使用实体框架访问数据库。所以,

如果对应的C#String对象中有空值,我将尝试在Sql Server中插入空值,如下所示:

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

我使用实体框架访问数据库。所以,若驻留为null,则将
'null'
插入数据库而不是null。如何为NULL插入NULL

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


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

xmlDoc.subjections(“约会”).Single().Element(“驻留状态”)

实际具有字符串值“NULL”

你可以改变你的逻辑,这样说

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

但这真的有点骇客——我个人想知道,如果xml在您的控制下,为什么您拥有的xml实际上在假定为空的节点中有字符串值“NULL”。

非常确定
NULL
NULL
是同一回事。您是否在SSMS中看到了
NULL
?为什么希望
'NULL'
而不是
NULL
xmlDoc.subjections(“约会”).Elements(“StateOfResidence”).Single().Value
@podiluska:我希望NULL不是“NULL”
String Residence = xmlDoc.Descendants("Appointment").Single().Element("StateOfResidence");
if(Residence == "NULL")
{
    Residence = null;
}