2010-10-08 7 views

Répondre

2

Votre modèle objet ne mappe pas nécessairement le modèle un à un avec votre modèle de base de données et, dans la plupart des cas, sera plus riche. Les composants sont un moyen d'enrichir votre modèle de base de données en encapsulant des fonctionnalités dans votre modèle d'objet. Par exemple, disons que vous avez deux tables, people et companies. Ces deux tables ont les champs requis pour un address, mais le schéma de la base de données, pour une raison quelconque, n'a pas de troisième table pour addresses. Dans votre application, vous pouvez souhaiter modéliser des adresses en tant qu'entité distincte, même s'il n'existe pas de table de base de données logique. Ici vous utiliseriez un composant qui vous permettrait de projeter les champs de base de données pour une adresse.

IUserType est un moyen de mapper un type à une colonne en utilisant une sérialisation personnalisée. Par exemple, si vous deviez cartographier un mongodb ObjectId (qui n'est rien de plus qu'un guid), vous pouvez écrire un IUserType personnalisé pour faire le mapping. D'autres exemples pourraient être la mise en correspondance d'un masque binaire avec un tableau de types d'utilisateurs riches ou l'encodage/décodage d'un champ crypté.