使用约束更改代码迁移数据类型

时间:2013-09-12 18:32:27

标签: sql vb.net entity-framework ef-code-first

我正在使用代码首次迁移实体框架。我已经创建了一个名为Amount的迁移列,该列标记为'required',它存储一个整数值。我现在被告知,这需要是小数。当我在上下文中更改数据类型并运行“Add-Migration”时,它会按照我的预期创建迁移文件。

当我运行Update-Database时,它会给我以下错误

  

对象'DF_ 产品 _ProductsTrack__522F1F86'依赖于   列'金额'。 ALTER TABLE ALTER COLUMN金额失败,因为一个或   更多对象访问此列。

我设法编写了一些自定义SQL来手动执行此操作:

ALTER TABLE Products
DROP CONSTRAINT [DF__Products__ProductsTrack__522F1F86]
GO
ALTER COLUMN Amount decimal(18,2)

然而,这并不好,因为我需要在迁移过程中更改数据类型。我写的假设依赖是因为最初分配给它的'Required'属性?如何使用“普通”迁移技术更改类型?

0 个答案:

没有答案