2015-09-18 5 views
2

Я новичок в MVC, я использую первый подход базы данных (sql server 2008) с использованием EF6. Какова моя проблема: я пытаюсь сохранить десятичное значение с 3 десятичными знаками, экономия в порядке, но когда я просматриваю его в своей базе данных SQL Server 2008, он сохраняет 2 точных десятичных разряда, а затем нули.
Например, я пытаюсь сохранить 0.025, я вижу, что он прошел 0.025 в моем методе сохранения, но когда я просматриваю то, что сохранено в моем db, оно 0.0200, тип данных базы данных десятичный (18,4). Что я делаю не так? Пожалуйста помоги!База данных Entity Framework Первая десятичная точность

UPDATE:
я, возможно, нашел подобный вопрос спросил и ответил, что я должен установить десятичную точность создания модели, но как я могу это сделать, как ему кажется, можно устанавливать только на код-первый подход:
Set decimal(16, 3) for a column in Code First Approach in EF4.3

modelBuilder.Properties<decimal>().Configure(c => c.HasPrecision(18, 3)); 
+2

http://stackoverflow.com/questions/24331751/entityframework-model-first-decimal-precision –

ответ

-1

я вижу ответ, однако, длинный рассказ короткий, вот ответ

Шаг 1 Изменить тип данных таблицы базы данных SQL Server для «float»

Шаг 2 Изменить соответствующую модель ASP.NET тип данных свойства к «двойному»

Это позволит решить эту проблему легко.

Однако вы можете получить сообщение об ошибке при сохранении (в создании) и редактировании (в режиме редактирования). Чтобы решить эти проблемы, просто измените текстовое поле @ Html.EditFor на ручное текстовое поле с тем же именем, что и имя свойства.

Аналогичным образом в списке и более подробной информации, используйте свойство model вместо метода @ Html.DisplayFor.

Для тех, кто до сих пор неясно, как изменить представление, тип данных модели и тип данных таблицы базы данных, вот an article explaining this.

Однако, если вы знаете основы ASP.NET MVC и Entity Framework, нет необходимости читать полную статью.

Смежные вопросы