Anja_ Geschrieben 1. Dezember 2011 Geschrieben 1. Dezember 2011 Servus, kennt jemand eine Möglichkeit zu unterscheiden, ob ein Member ein Typ- oder ein Entitätsmember ist? Mir fallen zwei Wege ein, beide gefallen mir nicht sooo sehr: a) SQL-Abfrage der information_schema_columns; wenn der Membername als column_name der Entität enthalten ist, ist es ein Entitätsmember. Ggf. nur einmal ausführen und global als Liste vorhalten. Jeder Typmember bekommt bei der Deklaration ein CustomAttribut verpasst, das über Reflections ausgelesen wird. Gibts da was schöneres? Zitieren
LuxuryPi Geschrieben 1. Dezember 2011 Geschrieben 1. Dezember 2011 Moin, die edmx-Datei die dein EntityModel beschreibt, enthält eine Section "edmx:ConceptualModels" die Knoten dort "EntityType" wiederum enthalten "Property" und "NavigationProperty" - welche ausschließlich "Entitätmember" sind. Ich denke das auswerten dieser XML-Datei sollte effektiver sein als ne SQL Abfrage oder Reflection. Ich weiß nicht genau in welcher Form du diese Information benötigst, ansonsten kann man durch "Zu Definition springen" herausfinden ob man in nem Entitätsmember oder Typmember gelandet ist, abhängig davon ob du in der Designer Datei landest oder in der partiellen Klasse. Grüße ausm Norden Zitieren
Anja_ Geschrieben 1. Dezember 2011 Autor Geschrieben 1. Dezember 2011 Ich benötige die Info zur Laufzeit. Es stehen also prinzipiell die DB und die Typinformationen zur Verfügung... Grüße ausm Norden Grüße in die Heimat :nett: Zitieren
LuxuryPi Geschrieben 1. Dezember 2011 Geschrieben 1. Dezember 2011 Die Entitäts-Member scheinen alle ein Attribut welches von "EdmPropertyAttribute" abgeleitet wird zu bekommen (siehe Designer.cs). Du könntest also zur Laufzeit mittels Reflection nach diesem Attributstyp Ausschau halten. Dann musst du für die Typmember keine CustomAttribute basteln. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.