Sto facendo il mio primo progetto con EF e sto pensando di andare al modello in codice prima. Sto provando a trovare un po 'di guida sulla gestione di uno scenario di "lookup table" abbastanza classico.Best practice per le tabelle di ricerca in codice EF-First
Ho a che fare con una situazione piuttosto canonica in cui conserverò i dati dell'indirizzo. Così, ho un semplice indirizzo DTO ...
public class Address
{
public int Id { get; set; }
public virtual string StreetAddress1 { get; set; }
public virtual string StreetAddress2 { get; set; }
public virtual string City { get; set; }
public virtual string State { get; set; }
public virtual string ZipCode { get; set; }
}
Nella proprietà dello stato, mi piacerebbe per memorizzare il codice di stato di Stati Uniti di due lettere standard. Per motivi di convalida, mi piacerebbe avere una relazione di chiave esterna uno-a-molti tra la tabella degli indirizzi risultante e una tabella di ricerca di stato abbastanza standard. Quella tabella probabilmente conterrebbe un ID, il codice di due lettere e una terza colonna per contenere il nome completo dello stato.
Mi aspetterei di utilizzare questa tabella di ricerca di stato per compilare e indicare caselle di stile a discesa, ecc. E anche fungere da convalida allo stato archiviato nell'entità indirizzo. Roba abbastanza comune Quindi, ho un paio di semplici (spero) domande.
- ho bisogno di creare un'entità che rappresenti l'ente statale solo per aver EF creare la tabella, o posso semplicemente includere la tabella per la creazione processo in una strategia DBCreation e seminare lì?
- avrebbe senso per creare tale entità, proprio da utilizzare come "vista modelli" per qualsiasi posto dove vorrei per visualizzare uno "stato-picker"
- ho davvero solo voglia di memorizzare il codice di stato di due lettere nell'indirizzo entità, ma questo ha senso o ha più senso solo a renderlo una proprietà di navigazione per un'entità di stato e quindi visualizzare?
Ho faticato un po 'con l'articolare il mio punto qui, quindi se non sono chiaro, sentitevi liberi di chiedere maggiori dettagli.
Grazie in anticipo. in modo appropriato nell'interfaccia utente?
3- Io personalmente uso un'entità per questo solo perché può evitare gli errori tipografici degli utenti. Garantisco anche la coerenza se la usi in molte entità (ora o più tardi). Ma se la tua applicazione è abbastanza piccola o non hai bisogno di troppe convalide, non vedo molte controindicazioni per mettere direttamente le due lettere direttamente nella tua entità Indirizzo. – Mathieu