ASP.NET MVC 4, EF5, Codice primo, SQL Server 2012 espressoASP.NET MVC 4, EF5, Proprietà univoca nel modello: best practice?
Qual è delle migliori pratiche per far rispettare un valore unico in un modello? Ho una classe di posti che ha una proprietà 'url' che dovrebbe essere unica per ogni posto.
public class Place
{
[ScaffoldColumn(false)]
public virtual int PlaceID { get; set; }
[DisplayName("Date Added")]
public virtual DateTime DateAdded { get; set; }
[Required(ErrorMessage = "Place Name is required")]
[StringLength(100)]
public virtual string Name { get; set; }
public virtual string URL { get; set; }
};
Perché non c'è solo un'annotazione di dati [Unique] che è possibile inserire su di esso?
Ho visto 1 o 2 discussioni su questo, ma non parlo delle migliori pratiche. Usando Code First puoi in qualche modo dire al database di impostare un vincolo univoco sul campo nel database?
Qual è il modo più semplice - e quali sono le migliori pratiche?
Interessante.Quindi, avrò bisogno di usarlo solo per qualsiasi proprietà Unica - tutto il resto può rimanere così com'è, codice convenzionale Prima no? Copre tutte le basi, le condizioni di gara, l'unicità affidabile al 100% sul database, ecc.? – niico
ho anche bisogno di installare il pacchetto nuget fluentvalidation? – niico
Questo esempio funzionerà con POCO senza problemi, lo uso su tutti i miei progetti. Come puoi vedere, controlla uniquness nel database su "TryValidateModel()", dopo di che chiami di solito "_db.SaveChanges();" quindi non c'è praticamente alcuna latenza. Sì, ovviamente avrai bisogno del pacchetto nuget. – sed