如何在 Entity Framework Designer 中指定索引列
How to specify index column in Entitiy Framework Designer
我目前正在使用 SQL Server Compact 数据库(首先是模型)开发我的第一个基于 Entity Framework 6 和 VS2012 的项目。
目前我想知道如何声明一个实体列在数据库中被索引(不是唯一值)而不是主键。
感谢您的任何提示。
您可以使用 Index
属性在数据库中的特定列上创建索引,如下所示:
class Student
{
public Student()
{
}
public int Student_ID { get; set; }
public string StudentName { get; set; }
[Index]
public int RegistrationNumber { get; set; }
}
你也可以通过指定IsUnique=true
.
来指定它与IsClustered = true
和唯一索引聚类
[Index( "INDEX_REGNUM", IsClustered=true, IsUnique=true )]
public int RegistrationNumber { get; set; }
有关唯一索引和多列索引等详细信息,请参阅 https://msdn.microsoft.com/en-us/data/jj591583.aspx。
您不能通过设计器指定索引。这只能在数据库中指定,如果您执行 Database-First,或者通过模型指定,如果您执行代码优先。我的偏好是数据库优先,但您的情况可能会有所不同。
我目前正在使用 SQL Server Compact 数据库(首先是模型)开发我的第一个基于 Entity Framework 6 和 VS2012 的项目。 目前我想知道如何声明一个实体列在数据库中被索引(不是唯一值)而不是主键。
感谢您的任何提示。
您可以使用 Index
属性在数据库中的特定列上创建索引,如下所示:
class Student
{
public Student()
{
}
public int Student_ID { get; set; }
public string StudentName { get; set; }
[Index]
public int RegistrationNumber { get; set; }
}
你也可以通过指定IsUnique=true
.
IsClustered = true
和唯一索引聚类
[Index( "INDEX_REGNUM", IsClustered=true, IsUnique=true )]
public int RegistrationNumber { get; set; }
有关唯一索引和多列索引等详细信息,请参阅 https://msdn.microsoft.com/en-us/data/jj591583.aspx。
您不能通过设计器指定索引。这只能在数据库中指定,如果您执行 Database-First,或者通过模型指定,如果您执行代码优先。我的偏好是数据库优先,但您的情况可能会有所不同。