【发布时间】:2017-01-21 10:45:22
【问题描述】:
我正在尝试在实体框架中定义唯一键约束。
此Author 表中Last_Name 属性的唯一键。
我使用的是实体框架 6.0 版。
- This answer 使用 Data Annotations 引导我做到这一点
- This answer 显示在上下文类中使用 SQL 命令
尝试这样做是最简单的方法。所以我更喜欢数据注释,但我收到了这个错误:
System.Data.SqlClient.SqlException:表中的列“Last_Name” 'dbo.Authors' 的类型不能用作关键列 一个索引。
代码:
public class Author
{
public Author()
{
}
[Key]
public int Auth_Id { get; set; }
public string First_Name { get; set; }
[Index("IX_FirstAndSecond", 1, IsUnique = true)]
public string Last_Name { get; set; }
public string Biography { get; set; }
}
【问题讨论】:
-
您可能需要重新考虑该方案。为什么姓氏是唯一的,可以有多个作者具有相同的姓氏
-
这是一个作者 - 而不是“作者” ....
-
@Ronan 其实这来自我的一次面试测试,他们要求我用唯一的键约束定义
Last_Name属性 -
寻找另一家工作的公司;)
-
@InBetween 哈哈 :D
标签: c# entity-framework ef-code-first data-annotations