2017-01-17 8 views
1

В настоящее время я работаю над своим первым проектом на основе Entity Framework 6 с VS2012, используя базу данных SQL Server Compact (сначала модель). В настоящее время мне интересно, как объявить столбец Entity для индексирования (а не уникальных значений) в базе данных, не являясь основным ключом.Как указать столбец индекса в Entitiy Framework Designer

Благодарим за любые советы.

ответ

1

Вы не можете указать индекс через конструктор. Это можно указать только в базе данных, если вы используете Database-First или через модель, если вы используете Code First. Мои предпочтения - База данных Сначала, но ваш пробег может отличаться.

+0

Это, однако, можно указать индекс в коде. –

+0

@ S. Дав, это то, что я имел в виду под «через модель, если вы делаете код первым». –

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 для деталей, как уникальные индексы и многоколоночных индексы.