gpt4 book ai didi

entity-framework - Entity Framework 4中的唯一键

转载 作者:行者123 更新时间:2023-12-03 12:26:41 24 4
gpt4 key购买 nike

现有的数据库模式具有唯一的非主键以及一些依赖于它们的外键。

是否可以在Entity Framework v4中定义不是主键的唯一键?怎么样?

最佳答案

Entity Framework 6.1 现在通过数据注释和Fluent API支持唯一性。

数据注释(Reference)

public class MyEntityClass
{
[Index(IsUnique = true)]
[MaxLength(255)] // for code-first implementations
public string MyUniqueProperty{ get; set; }
}

Fluent API ( Reference)
public class MyContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder
.Entity<MyEntityClass>()
.Property(t => t.MyUniqueProperty)
.HasMaxLength(255) // for code-first implementations
.HasColumnAnnotation(
"Index",
new IndexAnnotation(new[]
{
new IndexAttribute("Index") { IsUnique = true }
})));
}
}
}

您必须应用索引,并将unique属性设置为true。默认情况下,根据文档,索引是唯一的。

而且,您还必须在项目中安装Entity Framework 6.1 NuGet软件包,以便使用新的API进行索引。

关于代码优先实现的注意事项: VARCHAR(MAX)不能是唯一约束的一部分。您必须将最大长度指定为数据注释或Fluent API。

关于entity-framework - Entity Framework 4中的唯一键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2614941/

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