DateTime.Parse、DateTime.ParseExact、または Convert.ToDateTime を使用するなど、この質問で概説されている状況を解決するためのいくつかの回答を見てきました。問題が矛盾しているように見える理由を特定しようとしています。SQL Server 2008 R2 バックエンドを備えた Microsoft Enterprise Library Software Factory を使用してアプリケーションを構築し、現在約 9 か月間実稼働しています。C# からストアド プロシージャの System.Data.DBType.DateTime パラメーターに DateTime プロパティ値を割り当てる、同じコード形式のインスタンスが少なくとも 20 あります。20 個のコード ブロックのうち 19 個が正常に動作します。この質問で言及されているエラーを解決するには、以下に示すように .ToString() 呼び出しを追加する必要がありました。
db.AddInParameter(command, "beginDT", DbType.DateTime, timeBlock.BeginDT.ToString());
では、20 番目ではなく、19 の完全に同一のインスタンスで正常に機能する理由について、誰かが何らかの洞察を持っていますか? これらのオブジェクトの相互関係をより理解しようとしているだけなので、堅実なコードを構築できます。その後、他のすべてのインスタンスに戻り、.ToString() 呼び出しを追加しました。ただし、回帰テストは完了していません。だから、それが間違いだったのかどうかはわかりません。