SQL Server CE 3.5でdatetime2型を使用してDateTime値を格納したいとします。EF4エンティティにSQL Server CE 3.5でdatetime2タイプを使用させるにはどうすればよいですか?
可能であれば、エンティティデータモデルをどのように変更できますか?私は手動で編集しようとしましたが、その後Visual Studioはデザイナーにそれを表示することを拒否します。
SQL Server CE 3.5でdatetime2型を使用してDateTime値を格納したいとします。EF4エンティティにSQL Server CE 3.5でdatetime2タイプを使用させるにはどうすればよいですか?
可能であれば、エンティティデータモデルをどのように変更できますか?私は手動で編集しようとしましたが、その後Visual Studioはデザイナーにそれを表示することを拒否します。
datetime2が存在しませんSQL Server Compactでは、datetime2の値を保存するには、 'YYYY-MM-DD hh:mm:ss.nnnnnnn'という形式のnvarchar(27)値を保存する必要があります。 http://msdn.microsoft.com/en-us/library/ms171931.aspx)
データベースのサイズに注意してください(特にこのフィールドにインデックスがある場合)、別のアプローチを使用できます。そしてSMALLINT(ミリ秒)
は、データベース内の二つのフィールド日時(:MM:SSためYYYY-MM-DD HH)を保ちます。そしてUIに表示する前にそれらに参加して適切なDateTimeを取得してください。
この場合、これらのフィールドのサイズは10バイト(this sourceによれば、SMALLINTため8バイト +日時のバイト)であろう。 のサイズnvarchar(27)は54バイトです。
Sql ceはsmalldatetimeを持っていません – ErikEJ
@ErikEJ、回答。 –
datetime(YYYY-MM-DD hh:mm:ss)とint(ミリ秒)の2つのフィールドを持つ方が理にかなっていますか?あなたはUIでそれらを結合することができますが、そのような構造は、より小さいサイズとより小さいインデックスを持っています。 –
ええ、多分そうですが、上記のフォーマットはサーバー上のdatatime2に簡単に変換できます。分割されていればそれほど簡単ではありません。 – ErikEJ