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