我有这个型号
public class Record
{
public int Id {get;set;}
public int Client {get;set;}
public bool IsActive {get;set;}
}
我想为 IsActive 列创建约束。
每个客户端只能有 1 条事件记录。
我如何在模型上实现这一目标?
最佳答案
您需要为 ef core 的列创建过滤索引 filter index功能,您可以使用重写的 OnModelCreating
方法在 dbcontext 中配置它。
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Record>(entity =>
{
entity.HasIndex(e => e.Client)
.HasName("Record_Filtered_Index")
.HasFilter("([IsActive]=(1))");
});
}
关于c# - 在列上创建唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56732108/