0
私はLinqからsqlを使い始めました。私はレコードを挿入しようとしています。ここに私のコードです。LInq to Sql DateTimeの問題が挿入されました
SQLDATETIMEオーバーフロー:
は私がでSubmitChangesにこの例外を受け取りました。 1/1753 12:00:00 AMと12/31/9999 11:59:59 PMの間にある必要があります。FMCSA_USER_LOG _MyUserLog = new FMCSA_USER_LOG(); _MyUserLog.USER_ID = model.UserID; _MyUserLog.ACTIVITY_TYPE_ID = model.ActivityTypeID; _MyUserLog.ACTIVITY_TARGET = model.ActivityTarget; _MyUserLog.DESCRIPTION = model.Description; _MyUserLog.ACTIVITY_TIME = DateTime.Today; _MyUserLog.ACTIVITY_TYPE_ID = null; _MyUserLog.DESCRIPTION = null; db.FMCSA_USER_LOGs.InsertOnSubmit(_MyUserLog); db.SubmitChanges();
この問題を読んだところ、日付フィールドがあり、値が小さすぎると発生します。しかし、今日の日付に設定したテーブルの唯一の日付フィールド。
ここにレコードがあります。私は何が間違っているのか分かりません。
CREATE TABLE [dbo].[FMCSA_USER_LOG](
[ID] [int] IDENTITY(1,1) NOT NULL,
[USER_ID] [int] NULL,
[ACTIVITY_TIME] [datetime2](7) NOT NULL,
[ACTIVITY_TYPE_ID] [int] NULL,
[ACTIVITY_TARGET] [varchar](50) NULL,
[DESCRIPTION] [varchar](8000) NULL,
CONSTRAINT [PK_FMCSA_USER_LOG] PRIMARY KEY CLUSTERED
([ID] ASC)
)
あなたはあなたのデータベースモデルを変更しましたし、それらの変更を反映するために、あなたのLINQのツーSQLモデルを更新していません? Linq-to-SQLモデルは自動的には更新されません。データベース構造のスナップショットです。後でデータベースで変更する場合は、モデルを明示的に更新する必要があります。 –
別の 'datetime'カラムがどこかにあるかもしれません(おそらくトリガ)?指定されたスクリプトの列は 'datetime2'であり、.NETの' System.DateTime' IMOの範囲と実際に一致していなければなりません.Netから設定した値がデータベースに対して高すぎたり小さすぎたりしてはいけません。 – hangy
dbmlファイルの "Server Data Type"と "Type"にあるACTIVITY_TIMEフィールドは何ですか? – curtisk