对实体框架进行唯一验证
本文关键字:唯一 验证 实体 框架 | 更新日期: 2023-09-27 18:03:57
我有以下类
public class PestanasPorEntidad
{
[Key]
public int Id { get; set; }
public string Nombre { get; set; }
public int Orden { get; set; }
public string ClaseFontAwesome { get; set; }
public virtual Entidad Entidad { get; set; }
}
你可以看到这个实体是和Entidad相关的。
我想做一个验证,使Order列是唯一的,但不是在整个表中唯一的,只是对于同一个实体。
这是可能的数据注释?还是应该在服务器端完成控制器操作?
如果您使用的是最新版本的实体框架,您可以使用Index
属性。您还需要在实体中添加一个属性,该属性指定用于Entitad
导航属性的列。
public class PestanasPorEntidad
{
[Key]
public int Id { get; set; }
public string Nombre { get; set; }
//Add this to specify a unique index for both Orden...
[Index("IX_OrdenAndEntitad", 1, IsUnique = true)]
public int Orden { get; set; }
public string ClaseFontAwesome { get; set; }
//...and also EntitadId
[Index("IX_OrdenAndEntitad", 2, IsUnique = true)]
public int EntitadId { get; set; }
public virtual Entidad Entidad { get; set; }
}