如何在Entitiy Framework Designer中指定索引列

时间:2017-01-17 12:40:08

标签: c# entity-framework visual-studio-2012 sql-server-ce

我目前正在使用SQL Server Compact数据库(模型优先)开发基于实体框架6和VS2012的第一个项目。 目前,我想知道如何在不作为主键的情况下声明要在数据库中编制索引的实体列(而不是唯一值)。

感谢您的任何提示。

2 个答案:

答案 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。我的偏好是数据库优先,但你的里程可能会有所不同。