Impostare una proprietà chiave con Entity Framework Code First

Durante la creazione del nostro dominio e volendo utilizzare l’approccio CodeFirst di Entity Framework, arrivato alla versione 4.1, è possibile definire elementi chiave delle nostre entità quei campi che normalmente non vengono considerati tali, ricordiamo infatti che, per convenzione, CodeFirst considera chiavi le proprietà delle nostre entità aventi nome “Key”, “Id” oppure “nomeentitàId” , “nomeentitàkey”.
Per far diventare chiave ad esempio una proprietà avente nome “CodiceArticolo” dobbiamo aggiungere l’attributo [key] alla proprietà della classe, tale attributo fa parte del namespace System.ComponentModel.DataAnnotations.
Possiamo anche raggiungere lo stesso obiettivo tramite Fluent Api in fase di definizione del context attraverso la scrittura, nel metodo in override OnModelCreating(DbModelBuilder modelBuilder), delle seguenti righe di codice :

modelBuilder.Entity<Ordine>()

.HasKey(p => p.CodiceArticolo).Property(c => c.CodiceArticolo)

.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

Con le quali impostiamo anche il campo come identity.

Annunci

Informazioni su pythonyan

.Net Solution Developer at Be Smart
Questa voce è stata pubblicata in EF4 e contrassegnata con , . Contrassegna il permalink.

Una risposta a Impostare una proprietà chiave con Entity Framework Code First

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...