Я пишу приложение ASP.net MVC3, используя Entity Framework Code First и SqlCe4.
Я проектировал несколько моделей и нашел одну, которая оказалась интересной. Вот что у меня есть на данный момент:
public class Preference
{
public int PreferenceId { get; set; }
[Required]
public int StudentId { get; set; }
public virtual Student Student { get; set; }
[Required]
public int PresentationId { get; set; }
public virtual Presentation Presentation { get; set; }
[Required]
public int Rank { get; set; }
}
Однако мне нужно уникальное ограничение или индекс, потому что для конкретного студента я хочу, чтобы у него был список предпочтений, но PresentationId должен быть уникальным для каждого студента. Есть ли способ сделать это с помощью Code First или какого-либо атрибута проверки?
Похоже, я иду вниз по ветке отношений многие ко многим с объектом Preference, являющимся посредником, чтобы добавить свойство Rank. Однако я не могу найти, как убедиться, что значения уникальны. Действительно ли лучший способ вручную просто добавить уникальный индекс в базу данных вне EF?