Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在数据库中插入0(零)将变为空_Sql_Entity Framework 4_Sql Server 2012 - Fatal编程技术网

Sql 在数据库中插入0(零)将变为空

Sql 在数据库中插入0(零)将变为空,sql,entity-framework-4,sql-server-2012,Sql,Entity Framework 4,Sql Server 2012,我正在使用实体框架将一些数据插入我的数据库(sql server 2012)。 将0值插入浮点字段后,它在数据库中显示为null using (var db = new myDB()) { Part_Properties pp = new Part_Properties { part_id = 7007, properties_id = 31, value_nu

我正在使用实体框架将一些数据插入我的数据库(sql server 2012)。 将0值插入浮点字段后,它在数据库中显示为null

        using (var db = new myDB()) {
            Part_Properties pp = new Part_Properties {
                part_id = 7007,
                properties_id = 31,
                value_num = 0
            };
            db.Part_Properties.AddObject(pp);
            db.SaveChanges();
        }
根据探查器,这是正在发送的:

exec sp_executesql N'insert [dbo].[Part_Properties]([part_id], [properties_id], [value_num], [value_char], [info])
values (@0, @1, @2, null, null)
',N'@0 int,@1 int,@2 float',@0=7007,@1=31,@2=0
DB中的结果是: part_id=7007,properties_id=31,value_num=null

但我需要这个值为0


有什么想法吗?

我可能错了,但这不应该发生。您可以通过定义null并将其转换为“0”来反之亦然


请检查您的语句是否有规则。

如果使用SQL查询插入数据,是否也会发生这种情况?这似乎很奇怪。也许你桌上有某种触发器?谢谢你的提示@DanielHilgarth!我有一个触发器,如果有空字符串,它会将字段设置为null。value_char=NULLIF(value_char,,),value_num=NULLIF(value_num,,)。。。。当出现0时,似乎会触发NULLIF(..,')。当然,我的value\u num字段不需要它。
CAST(''AS INT)
返回
0
,这就是为什么会发生这种情况。