質問編集履歴

1

DBのバージョン・create_dateの概要・テーブル構造を追記

2021/06/12 12:28

投稿

pg_c_sharp
pg_c_sharp

スコア1

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- ASP.NET MVC5で、DBから取得したデータをビューに表示、ユーザーがビューで入力したデータを受け取ってDBに反映するという処理を実装しています。
5
+ ASP.NET MVC5で、DB(SQL Server2016)から取得したデータをビューに表示、ユーザーがビューで入力したデータを受け取ってDBに反映するという処理を実装しています。
6
6
 
7
7
 
8
8
 
@@ -78,13 +78,57 @@
78
78
 
79
79
  ```
80
80
 
81
+
82
+
83
+ (また、クラス「t_item_list」のに対応しているDB側のテーブル[dbo].[t_item_list]は、テーブル生成SQLで記述すると以下のような構造です。)
84
+
85
+
86
+
87
+ ```SQL
88
+
89
+ CREATE TABLE [dbo].[t_item_list] (
90
+
91
+ [id] bigint NOT NULL,
92
+
93
+ [item_name] NVARCHAR (30) NOT NULL,
94
+
95
+ [information] NVARCHAR (50) NULL,
96
+
97
+ [create_date] DATETIME NOT NULL,
98
+
99
+ PRIMARY KEY CLUSTERED ([id] ASC)
100
+
101
+ );
102
+
103
+ ```
104
+
81
105
  ###問題点
82
106
 
83
- この時、create_dateはレコードの生成日時を記録するDBの内部処理用のレコードなので、Edit(POSTされた結果を受け取って更新する側)では受け取っていません。
107
+ この時、create_dateはレコードの生成日時を記録するDBの内部処理用のレコード(※1)なので、Edit(POSTされた結果を受け取って更新する側)では受け取っていません。
84
108
 
85
109
  このコードをそのまま実行すると、SaveChanges()で、create_dateがNULLだというエラーになります。
86
110
 
87
111
  (※もし仮に実行できたとしても、crerate_dateがnullになってしまうのでやはり問題ですが)
112
+
113
+
114
+
115
+
116
+
117
+ (※1)
118
+
119
+ 「create_date」は当該レコードが生成された日時を記録するフィールドです。
120
+
121
+ レコードを新規追加する際にその日時が記録され、その後は変更されません。
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
88
132
 
89
133
 
90
134