1

SQLDatabaseに接続されたエンティティデータモデルを使用しています。

1つの特定の列は日時です。

値をDatetimeとして宣言すると、次のエラーが発生します。

内部例外: SqlDateTimeオーバーフロー。1/1/175312:00:00AMから12/31/999911:59:59PMの間にある必要があります。

これが私のコードスニペットです:

ReworkEntities dbContext = new ReworkEntities();

        Carton carton = new Carton();

        Carton_Details detail1 = new Carton_Details();
        detail1.Detail = "Some Detail Here";
        detail1.DateOfSub = DateTime.Now;

        carton.Carton_Details.Add(detail1);

        dbContext.AddToCartons(carton);
        dbContext.SaveChanges();

私はGoogleで何時間も過ごし、同様の問題をたくさん見つけましたが、どれも私にはうまくいかないようです。

彼らは.toSting( "M / dd / yyyy H:mmss tt")を使用することを提案しました。私は文字列値に対して機能しますが、DateTime値が必要であり、それを元に戻すときも同じです。

また、.Parse、.ParseExactを試しましたが、成功しませんでした。

別の投稿では、SQLデータベースの日時形式を変更することを提案していますが、そのように使用するのはコード標準であるため、変更できません。

問題を解決する方法についての提案をいただければ幸いです。

ありがとう。

4

1 に答える 1

0

同様の問題に直面しました。エンティティのコンストラクターに属性の値を入力するだけで、コードは次のようになります。

public class Carton_Details
{
    public DateTime DateOfSub { get; set; }

    public Carton_Details()
    {
        this.DateOfSub = DateTime.Now;
    }
}

お役に立てば幸いです。

于 2013-02-22T15:01:36.987 に答える