Piszę aplikację ASP.net MVC3 przy użyciu Entity Framework Code First i SqlCe4.Unikalne ograniczenie z EFCodeFirst i SqlCe4
Projektowałem kilka modeli i znalazłem taki, który okazuje się interesujący. To, co mam tak daleko:
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; }
}
ja jednak potrzebne ograniczenie przez unikalność lub indeksu, ponieważ dla danego studenta, chcę je mieć listę preferencji, ale PresentationId musi być unikalny dla każdego ucznia. Czy istnieje sposób, aby to zrobić przez Code First lub jakiś atrybut sprawdzania poprawności?
Wygląda na to, że wchodzę w gałąź od wielu do wielu relacji z obiektem Preferencji będącym pośrednikiem, aby dodać właściwość Rank. Jednak nie mogę znaleźć sposobu, aby upewnić się, że wartości są unikalne. Czy najlepszym rozwiązaniem jest ręczne dodanie unikalnego indeksu do bazy danych poza EF?
ja obecnie za pomocą wbudowanego inicjatora: 'Database.SetInitializer (nowe DropCreateDatabaseIfModelChanges ());' Jednak próbując wdrożyć rozwiązanie, to nie skompilować w wierszu zawierającym ModelMatchesDatabase() –
mandreko
Ta odpowiedź sprawdziła się i jest obecnie w mojej wersji produkcyjnej – Yablargo