我找不到使用属性向我的字段添加唯一约束的方法:
public class User { [Required] public int Id { get; set; } [Required] // [Index("IX_FirstAndSecond", 2, IsUnique = true)] not supported by core public string Email { get; set; } [Required] public string Password { get; set; } }
我正在使用这些软件包:
"Microsoft.EntityFrameworkCore": "1.0.1", "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1", "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.1", "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
在 EF 核心上,您无法使用数据注释创建索引。但您可以使用 Fluent API 来创建索引。
像这样在你的{Db}Context.cs:
{Db}Context.cs
protected override void OnModelCreating(ModelBuilder builder) { builder.Entity<User>() .HasIndex(u => u.Email) .IsUnique(); }
…或者,如果您将重载与 buildAction 一起使用:
protected override void OnModelCreating(ModelBuilder builder) { builder.Entity<User>(entity => { entity.HasIndex(e => e.Email).IsUnique(); }); }
你可以在这里阅读更多关于它的信息: 索引