2013-03-29 15 views
7

C#、エンティティフレームワーク - データベース、mvcを使用してms SQLデータベースに緯度と経度を書き込み/読み込もうとしています。Entity Frameworkデータベースの小数点以下の丸めを防ぐ

緯度/経度は、データベースで正しいにもかかわらず小数点以下2桁しか表示されないという問題があります。データベースには、数値(18,6)のフィールドがあります。私はコンテキストファイルにOnModelCreatingを変更する必要があります - - 変更が再生に失われる可能性が警告しているにもかかわらず、私はどのようにしておくん

protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Entity<STORE_LOCATION>().Property(location => location.LATITUDE).HasPrecision(18, 6); 
     modelBuilder.Entity<STORE_LOCATION>().Property(location => location.LONGITUDE).HasPrecision(18, 6); 
    } 

2質問を次のように

私はコンテキストファイルを変更しました小数点以下を切り捨てるコード?

答えて

4

コンテキストファイル内のOnModelCreatingを変更する必要があります - 再生時に変更が失われる可能性があり、コードが小数点以下を切り捨てないようにするにはどうすればよいですか?

ん - 別のファイルにあなたのコンテキストの部分クラスを実装し、精度に関してはそこOnModelCreating

を実装する - あなたがページに表示対デバッガでオブジェクトの値をチェックしませんか?レンダリング中に丸めが発生している可能性があります。応答のための

[DisplayFormat(DataFormatString = "{0:0.0#####}", ApplyFormatInEditMode = true)] 
+0

ありがとう:エンティティクラスのプロパティにDisplayFormat属性を追加

してみてください。はい、レンダリング中に丸めが発生しています。どのようにそれを防ぐための任意の提案? – user1069733

+0

レンダリングするコントロールに値を割り当てていますか?フォーマットを指定する必要があります – Moho

+0

はい - @ Html.EditorFor(model => model.LATITUDE)を使用 – user1069733

関連する問題