我有一个名为反馈的类,通过数据库第一种方法生成
public partial class Feedback
{
public Nullable<byte> OverallExperienceFb { get; set; }
public Nullable<byte> FunFb { get; set; }
public Nullable<byte> FoodFb { get; set; }
public Nullable<byte> TravelFb { get; set; }
public Nullable<byte> PlanningFb { get; set; }
public Nullable<byte> MusicFb { get; set; }
public Nullable<byte> PlaceFb { get; set; }
public Nullable<byte> WeatherFb { get; set; }
public Nullable<int> Paid { get; set; }
public int ID{get; set;}
}
我后来在overallFb
上添加了范围0-5的约束,如下所示: -
public partial class TravellerTripStatus
{
[Range(0,5)]
public Nullable<byte> OverallExperienceFb { get; set; }
}
此更改反映在GUI上,使得编辑表单不允许输入超出范围的值,但如何使此更改反映到数据库中(这样一个检查约束自动添加到表定义的overallFB
字段中?
当我尝试从模型生成数据库时,不会强制执行此类约束。
答案 0 :(得分:0)
使用数据注释或流体API,目前无法向表添加约束。但解决方法是在Seed方法中的Configuration.cs文件中发出SQL命令:
db.Database.ExecuteSqlCommand("ALTER TABLE TravellerTripStatus ADD CONSTRAINT CK_TravellerTripStatus_OverallExperienceFb CHECK (OverallExperienceFb BETWEEN 0 AND 5)");