2

Entity Framework を使用してデータベースにデータを挿入しています (SQL Server 2012)。float フィールドに値 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にする必要があります。

何か案は?

4

1 に答える 1

0

私は間違っているかもしれませんが、したがって、これは起こるべきではありません。null を定義して「0」に変換することで、これを逆に行うことができます。

あなたの声明に乗る上で何らかのルールがあるかどうかを確認してください。

于 2013-09-02T09:50:12.797 に答える