2017-03-22 22 views
0

ODP.netを使用してOracleからデータを取得しています。特定のデータセットで、タイムスタンプタイプのフィールドを取得しています。私が最後に何をしても、DateTimeに変換しても、それを文字列に変換しても、ミリ秒は常に切り捨てられます。ODP.netタイムスタンプのミリ秒を切り捨て

これは私のストアドプロシージャから戻って来ているものの例である:

2016年10月28日4:05:53.873 PM

そして、これは私がそれをマップするときに、それがどのように見えるかは何かということです私のモデルにかかわらず、プロパティが日時または文字列の場合:

2016年10月28日午前4時05分53秒PM

ここでは私のプロシージャ・コールは、次のようになります3210

最終目標はDateTimeプロパティは、それがこの形式でシリアライズすることで別の問題を提示JSON、へのオブジェクトのリストをシリアル化することです。

だから私は、変換したいのすべての可能な場合
\/Date(1477685153873)\/ 

ミリ秒を維持しながらOracleタイムスタンプを文字列に変換します。私はODP.netの新機能ですから、データにアクセスする方法が分からないのですか?

+0

解析する代わりに、 '(DateTime)dr [" TIME_STAMP1 "]'のような明示的なキャストを使用しようとしましたか? –

+0

私はちょうどそれを試して、それはまだミリ秒を削除します。 –

答えて

0

私はそれを稼働させましたが、それはかなりか保守的ではありません。列を名前で参照する代わりにmyTimeStampProp = Convert.ToString(dr.GetOracleTimeStamp(29))を使用しなければなりませんでした。私が言ったように、カラム名を持たなくても保守が容易ではありませんが、動作します。

関連する問題