使用 EF6 迁移删除整数列的范围约束
Remove Range Constraint on integer column with EF6 Migration
我有一个原版 class,如下所示:
using System.ComponentModel.DataAnnotations;
public class TestClass
{
[Range(1, 10)]
public int TestValue { get; set; } = 0;
}
我正在尝试更改以包含 0 作为选项,或者根本没有范围。
using System.ComponentModel.DataAnnotations;
public class TestClass
{
[Range(0, 10)]
public int TestValue { get; set; } = 0;
}
然后我 运行 以下 EF 命令并没有拾取任何更改。
EntityFramework6\add-migration -Name constraintFix -ConfigurationTypeName TestProject.Infrastructure.EntityFramework.Migrations.Configuration
这是否必须通过 SQL 手动完成,还是我遗漏了什么?
我最终删除了该列,运行 迁移以获取 SQL 它 auto-generated。然后我删除了该迁移,对 class、运行 进行了更改(没有按预期生成 SQL)。然后我在它生成的 SQL 中添加回手动删除约束。这似乎对我有用。希望有一天会有更好的答案。
我有一个原版 class,如下所示:
using System.ComponentModel.DataAnnotations;
public class TestClass
{
[Range(1, 10)]
public int TestValue { get; set; } = 0;
}
我正在尝试更改以包含 0 作为选项,或者根本没有范围。
using System.ComponentModel.DataAnnotations;
public class TestClass
{
[Range(0, 10)]
public int TestValue { get; set; } = 0;
}
然后我 运行 以下 EF 命令并没有拾取任何更改。
EntityFramework6\add-migration -Name constraintFix -ConfigurationTypeName TestProject.Infrastructure.EntityFramework.Migrations.Configuration
这是否必须通过 SQL 手动完成,还是我遗漏了什么?
我最终删除了该列,运行 迁移以获取 SQL 它 auto-generated。然后我删除了该迁移,对 class、运行 进行了更改(没有按预期生成 SQL)。然后我在它生成的 SQL 中添加回手动删除约束。这似乎对我有用。希望有一天会有更好的答案。