2
데이터베이스 (SQL Server 2012)에 일부 데이터를 삽입하기 위해 Entity Framework를 사용하고 있습니다. 0 값을 float 필드에 삽입하면 데이터베이스에 null로 나타납니다.데이터베이스에 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이어야합니다.
아이디어가 있습니까?
SQL 쿼리를 사용하여 데이터를 삽입하는 경우에도 이런 현상이 발생합니까? – ksalk
이것은 이상하게 보입니다. 테이블에 어떤 종류의 방아쇠가있을 수 있습니까? –
힌트 @DanielHilgarth를위한 Thx! 빈 문자열이 있으면 내 필드를 null로 설정하는 트리거가 있습니다. value_char = NULLIF (value_char, ''), value_num = NULLIF (value_num, ''), .... 0이 올 때 NULLIF (.., '')가 트리거됩니다.하지만 당연히 필요하지 않습니다. value_num 필드. – Patrick