【问题标题】:Unique columns values in Entity Framework - Code First实体框架中的唯一列值 - 代码优先
【发布时间】:2016-06-04 21:39:49
【问题描述】:

我有一个这样的实体:

public class User
{
    public string Name { get; set; }
    public string LastName { get; set; }
    public string Username { get; set; }   // this is an EmailAddress

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

如何将Username 也定义为唯一的?

使用实体框架6.1.3

【问题讨论】:

    标签: asp.net entity-framework entity-framework-6


    【解决方案1】:

    如果您使用的是最新的 EF (6.1+),那么您可以使用以下代码:

    [Index("UserNameIndex", IsUnique = true)]
    [MaxLength(100)]
     public string UserName { get; set; }
    

    对于早期版本的 EF,有更复杂的方法,您可以在此处查看:Unique key with EF code first

    【讨论】:

    • ty 会立即尝试:D
    • 我收到此异常:“表 'dbo.Users' 中的列 'Username' 的类型不能用作索引中的键列。”
    • 好像对应stackoverflow.com/a/23055838/4610605 能帮帮我吗?我不明白怎么了....
    • 尝试添加 MaxLength 属性。索引长度是有限的,因此您必须为您的属性指定最大长度值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 2017-01-21
    • 2017-09-01
    • 2014-05-23
    • 1970-01-01
    • 2015-05-26
    相关资源
    最近更新 更多