2013-04-27 5 views
5

Ich verwende Entity Framework 4.1 und erzeuge meine Klassen mit dem ersten Ansatz der Datenbank. Ich habe eine EDMX-Datei in meiner Lösung.Fügen Sie der Entity Framework-Datenbank zuerst generierte Klassen hinzu

Ich versuche, Attribute zu meinen Klassen mit dem MetadataTypeAttribute-Ansatz hinzufügen, die die empfohlene Möglichkeit außerhalb der T4-Vorlage zu tun scheint, aber ich kann nicht scheinen, um es zu arbeiten, weil ich diese Kompilierung bekommen Fehler:

'Patient' ist ein mehrdeutiger Bezug zwischen 'PatientManagementSystem.Patient' und 'PatientManagementSystem.Models.Patient'

Hier ist der Code ich verwende:

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

public class PatientMetadata 
{ 

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

} 

Tritt dieser Fehler auf, weil ich eigentlich keine Klassen dafür habe, weil ich zuerst Datenbank und alles im EDMX mache?

Danke! Floh

+1

Wie lautet der Namespace für Ihre edmx und für die obige Klasse? Sie sollten übereinstimmen. –

+0

Adam, der Namespace für den EDMX ist 'empty' (Er befindet sich auch in einem Klassenbibliotheksprojekt, das Teil meines MVC-Projekts ist) und der Namespace für meine Klasse lautet:' PatientManagementSystems.Models' – Flea

+0

Adam, das war das Problem. Ich musste die Namensräume reparieren und jetzt scheint es zu funktionieren. Wenn Sie das, was Sie gesagt haben, kopieren und als Antwort angeben wollen, werde ich es für Sie markieren. Vielen Dank! – Flea

Antwort

3

Stellen Sie sicher, dass beide im selben Namespace sind. Da es sich um eine partielle Klasse handelt, muss sich die Klasse, die Sie ändern, auch im selben Namespace befinden oder sie ist nicht dieselbe Klasse.

Verwandte Themen