我目前正在使用SQL Server Compact数据库(模型优先)开发基于实体框架6和VS2012的第一个项目。 目前,我想知道如何在不作为主键的情况下声明要在数据库中编制索引的实体列(而不是唯一值)。
感谢您的任何提示。
答案 0 :(得分:1)
您可以使用Index
属性在数据库中的特定列上创建索引,如下所示:
class Student
{
public Student()
{
}
public int Student_ID { get; set; }
public string StudentName { get; set; }
[Index]
public int RegistrationNumber { get; set; }
}
您还可以通过指定IsClustered = true
将其指定为与IsUnique=true
群集并使用唯一索引。
[Index( "INDEX_REGNUM", IsClustered=true, IsUnique=true )]
public int RegistrationNumber { get; set; }
有关唯一索引和多列索引等详细信息,请参阅https://msdn.microsoft.com/en-us/data/jj591583.aspx。
答案 1 :(得分:1)
您无法通过设计人员指定索引。这只能在数据库中指定,如果您执行Database-First,或者通过模型指定,如果您执行Code First。我的偏好是数据库优先,但你的里程可能会有所不同。