2013-04-27 11 views
5

Sto utilizzando Entity Framework 4.1 e sto generando le mie classi utilizzando il primo approccio del database. Ho un file EDMX nella mia soluzione.Aggiunta di attributi alle classi generate dal database Entity Framework

Sto cercando di aggiungere attributi alle mie classi utilizzando l'approccio MetadataTypeAttribute che sembra essere il modo consigliato di farlo al di fuori della modifica del modello T4, tuttavia, non riesco a farlo funzionare perché continuo a ricevere questa compilazione errore:

'paziente' è un riferimento ambiguo tra 'PatientManagementSystem.Patient' e 'PatientManagementSystem.Models.Patient'

Ecco il codice che sto usando:

[MetadataTypeAttribute(typeof(PatientMetadata))] 
public partial class Patient 
{ 
} 

public class PatientMetadata 
{ 

    [Required] 
    public string LastName {get; set;} 

} 

Questo errore si verifica perché in realtà non ho classi per questo perché sto facendo prima Database e tutto in EDMX?

Grazie! Pulce

+1

Qual è lo spazio dei nomi per edmx e per la classe sopra? Dovrebbero corrispondere. –

+0

Adam, lo spazio dei nomi per EDMX è 'vuoto' (Inoltre, si trova in un progetto di libreria di classi che è parte del mio progetto MVC) e lo spazio dei nomi per la mia classe è:' PatientManagementSystems.Models' – Flea

+0

Adam, questo era il problema. Ho dovuto sistemare gli spazi dei nomi e ora sembra che funzioni. Se vuoi copiare ciò che hai detto e metterlo come risposta, lo contrassegnerò per te. Grazie! – Flea

risposta

3

Assicurarsi che entrambi siano nello stesso spazio dei nomi. Poiché si tratta di una classe parziale, la classe che stai modificando deve trovarsi nello stesso spazio dei nomi o non è la stessa classe.