19

SqlException: datetime2 データ型を datetime データ型に変換すると、範囲外の値になりました。

私のコードは次のようなものです:

        using (var contxt = new realtydbEntities())
        {
            var status = GetStatus();

            var repIssue = new RepairIssue()
            {
                CreaterId = AuthorId,
                RepairItemDesc = this.txtDescription.Text,
                CreateDate = DateTime.Now,//here's the problem
                RepairIssueStatu = status
            };

            contxt.AddObject("RepairIssues", repIssue);
            contxt.SaveChanges();
        }

タイプがsmalldatetimeの列にマッピングするCreateDateプロパティ。

このコードを実行するにはどうすればよいですか?

4

6 に答える 6

9

問題の根本は、C# の DateTime オブジェクトが SQL の smalldatetime 型よりも「大きい」ことです。違いの概要は次のとおりです。http://karaszi.com/the-ultimate-guide-to-the-datetime-datatypes

だから本当にあなたのオプションは次のとおりです。

  1. 列の型を smalldatetime から datetime (または datetime2) に変更します。
  2. EF を使用する代わりに、独自の SQL コマンドを作成します (SqlDateTime を使用できます)。
于 2012-05-10T10:35:13.177 に答える
1

SqlDateTimeを使用すると、必要なことを実行できます。

于 2012-05-08T09:01:51.640 に答える
0

移行内容を確認してください。このようにモデルチェンジしました」

公開日時? CreationDate {取得; 設定; }

次に、新しい移行を追加し、最後にデータベースの更新を実行します

于 2019-11-10T14:37:44.533 に答える