如何在 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,或者通过模型指定,如果您执行代码优先。我的偏好是数据库优先,但您的情况可能会有所不同。