Уникальное ограничение с EFCodeFirst и SqlCe4

Я пишу приложение 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?

6
задан mandreko 18 July 2011 в 00:43
поделиться