gpt4 book ai didi

c# - Entity Framework Core 代码优先添加唯一约束

转载 作者:IT王子 更新时间:2023-10-29 03:36:16 35 4
gpt4 key购买 nike

我找不到使用属性向我的字段添加唯一约束的方法:

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 中像这样:

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();
});
}

您可以在这里阅读更多相关信息:Indexes

关于c# - Entity Framework Core 代码优先添加唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41246614/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com