単純な状況ですが、単純な解決策が思い浮かびません。
MSSQL DB (簡略化) にテーブルがあります:
tbUsers
[ID] [int] IDENTITY(1,1) NOT NULL,
[FirstName] [nvarchar](25) NOT NULL,
[DateCreated] [datetime2](7) NOT NULL default GETDATE()
そして、データベースから生成された Entity Framework モデルがあり、それが User POCO クラスを作成しました。
私が達成したいのは、このようなデータベースコンテキストを使用するときです
db.Users.Add(new User { Name = "Rony" });
db.SaveChanges();
DateCreatedが現在の日付と時刻に設定された行が作成されます。User
オブジェクトが作成されると、DateCreated
プロパティがデフォルトにDateTime.MinValue
なり、db の行にもこの値が設定されます 。
実行されたクエリは次のとおりだと思います。
INSERT INTO dbo.tbUsers
([Name]
,[DateCreated])
VALUES
(''
,'0001-01-01 00:00:00.0000000')
しかし、次のようにする必要があります。
INSERT INTO dbo.tbUsers
([Name])
VALUES
('')
これを達成するための助けをいただければ幸いです。