在asp.net mvc应用程序中更改数据库字段的类型?

时间:2011-01-04 21:42:48

标签: asp.net sql-server entity-framework asp.net-mvc-2 types

我有一个asp.net mvc 2应用程序,其中包含由Entity Framework ORM访问的SQL Server数据库。现在我发现我使用了错误的数据类型用于数据库中的一个字段 - int而不是double。

现在,这不是一个很大的商业应用程序,但它已经在我的公司内部使用。它工作正常,但用户需要能够输入十进制值而不只是整数......

所以我的问题是,我可以改变事件后的字段类型,并且不会丢失已输入的数据吗?当然,我必须更改模型中对此字段的引用以及引用它的所有内容,但它是否可能完全没有丢失数据?

我很感激有关如何解决这个问题的任何建议!

1 个答案:

答案 0 :(得分:0)

如果您使用int而不是十进制数据,那么您可能已经错误地使用了数据,代码甚至会中断。当你从int转到decimal时,你不会丢失你的情况下的任何数据。你需要采取 -

  1. 将列类型更改为十进制。使用alter命令。
  2. 删除相关表格并重新添加。
  3. 将代码中的所有引用更改为使用decimal而不是int。
  4. 您可能希望最后执行数据库步骤,以防您的内容生效并在此情况下使用,在您上传更改时执行此操作。