0

我正在使用带有实体框架的代码优先迁移。我有一个在几次迁移前创建的名为 Amount 的列,它被标记为“必需”,它存储一个整数值。我现在被告知,这需要是小数。当我在上下文中更改数据类型并运行“添加迁移”时,它会按我的预期创建迁移文件。

当我运行更新数据库时,它给了我以下错误

对象“DF_ Products _ProductsTrack__522F1F86”取决于“金额”列。ALTER TABLE ALTER COLUMN Amount 失败,因为一个或多个对象访问此列。

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

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

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

4

0 回答 0