Linq to SQL -可以通过实体属性在DB上生成唯一键约束

本文关键字:唯一 约束 一键 DB SQL to 可以通过 属性 实体 Linq | 更新日期: 2023-09-27 17:52:38

在Linq to Sql中,是否有任何方法可以在实体上定义属性,表明它应该是唯一的(并且在生成数据库时也会在数据库中生成唯一约束)

注意:我希望生成一个唯一的键约束,而不是我的实体上的另一个主键)

。根据我们的业务规则,我希望在Description属性上有一个属性来指示它应该是唯一的。

[Table(Name = "ProductCategory")]
public class ProductCategory
{
    // Generate a primary key
    [Column(IsPrimaryKey = true, IsDbGenerated = true, AutoSync = AutoSync.OnInsert, Name="ProductCategoryId")]
    public int ProductCategoryId { get; set; }
    [Column(CanBeNull = false, ATTRIBUTE TO GENERATE UNIQUE CONSTRAINT FOR THIS PROPERTY/COLUMN]
    public string Description { get; set; }
    [Column(CanBeNull = false)]
    public DateTime CreatedDate { get; set; }
    [Column(CanBeNull = true)]
    public DateTime? ModifiedDate { get; set; }
}

Linq to SQL -可以通过实体属性在DB上生成唯一键约束

Linq-To-SQL(以及实体框架)不支持唯一键,因此没有注释可以确保在数据库中为您生成唯一约束。您必须始终使用一些部署后脚本添加唯一的约束/索引。