2010-10-08 8 views

Antwort

2

Ihr Objektmodell muss nicht unbedingt eins zu eins zu Ihrem Datenbankmodell zugeordnet werden und ist in den meisten Fällen reicher. Mit Komponenten können Sie Ihr Datenbankmodell anreichern, indem Sie die Funktionalität in Ihrem Objektmodell kapseln. Nehmen wir zum Beispiel an, Sie haben zwei Tabellen, people und companies. Beide dieser Tabellen haben die Felder, die für eine address erforderlich sind, aber das Datenbankschema hat aus beliebigem Grund keine dritte Tabelle für addresses. In Ihrer Anwendung möchten Sie möglicherweise Adressen als separate Entität modellieren, obwohl es keine logische Datenbanktabelle dafür gibt. Hier würden Sie eine Komponente verwenden, mit der Sie die Datenbankfelder für eine Adresse projizieren können.

IUserType ist eine Möglichkeit, einen Typ mithilfe einer benutzerdefinierten Serialisierung einer Spalte zuzuordnen. Wenn Sie z. B. einen Mongodb (der nicht mehr als eine GUID ist) zuordnen, können Sie eine benutzerdefinierte IUserType schreiben, um das Mapping durchzuführen. Andere Beispiele könnten eine Bitmaske auf ein Array von reichen Benutzertypen abbilden oder ein verschlüsseltes Feld codieren/decodieren.