添加唯一约束目前网上都是 EF5及以上的内容了,新技术肯定强,一个特性就解决了
//EF5以下版本并不支持
[Index("IX_FirstAndSecond", 2, IsUnique = true)]
public string Email { get; set; }
老框架找了半天,现在搬运一下
class MyContext : DbContext
{
public DbSet<Person> People { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Person>()
.HasIndex(p => new { p.FirstName, p.LastName })
.IsUnique(true);
}
}
public class Person
{
public int PersonId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
还有另一种写法:
protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity<User>(entity => {
entity.HasIndex(e => e.Email).IsUnique();
});
}
EF Core 5及以下版本添加唯一约束:代码示例与迁移
本文档介绍了如何在EF Core 5及以下版本中为Person类的Email字段设置唯一约束,包括使用[Index]注解和OnModelCreating方法的两种方式,并提供了相关StackOverflow链接以供参考。
https://stackoverflow.com/questions/41246614/entity-framework-core-add-unique-constraint-code-first
1543

被折叠的 条评论
为什么被折叠?



