【问题标题】:Define an Entity with a Unique Key at the Model Level在模型级别定义具有唯一键的实体
【发布时间】:2015-08-05 09:37:05
【问题描述】:

使用asp.net 5 entity framework 7,我想在模型级别定义一个具有唯一键约束的字段。我不是在谈论主键。我相信在 EF 6 中它曾经是这样的:

    [Key]
    public int Id{ get; set; }

    [Index("IX_UserName", 1, IsUnique = true)]
    public string UserName {get; set;}

【问题讨论】:

  • 请仅使用[UniqueKey] 尝试
  • @tinka,EF7 中似乎没有 UniqueKey 属性。

标签: c# asp.net-core asp.net-core-mvc entity-framework-core


【解决方案1】:

您可以在 OnModelCreating 覆盖中进行配置。见http://ef.readthedocs.org/en/latest/modeling/configuring.html#indexes

例子:

class MyContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Blog>()
            .Index(b => b.Url)
            .Unique();
    }
}

【讨论】:

  • 感谢您的帮助和链接。在我看来,在模型本身中定义它会更简单,但无论如何......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 2018-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-28
相关资源
最近更新 更多