2009-06-09 5 views
2

Est-ce que l'un des ORM disponibles prend en charge l'utilisation d'un champ de bits pour représenter le retrait de ligne?ORM & Logical Delete

Plus d'informations. Travailler en C#. Je dois supprimer de cette façon pour prendre en charge la synchronisation des modifications de base de données à distance vers une base de données centrale. Je suis à la recherche d'un ORM possible, mais je suis également intéressé par les approches du problème. Donc, si quelqu'un connaît un ORM dans n'importe quel langage/environnement qui résout ce problème, je serais intéressé à le regarder. Merci pour les questions n'hésitez pas à demander plus si quelque chose n'est pas clair.

+0

Votre question est un peu sous-spécifiée; attention à nous dire pourquoi vous en avez besoin, alors peut-être que les gens pourraient suggérer des fonctionnalités similaires dans ORMs ou des solutions de contournement? –

+0

Quelle langue et environnement? –

Répondre

5

Ceci peut ne pas s'appliquer si vous n'utilisez pas .NET, mais le LightSpeed ​​ORM dispose d'une fonctionnalité intégrée appelée "suppression simple". Fondamentalement, lorsque vous avez un champ DeletedOn sur votre table, LightSpeed ​​insérera l'heure à laquelle il a été supprimé. Il gère automatiquement cette option sur les sélections normales (par exemple où Supprimé == null) afin que les éléments supprimés ne soient pas revus. Vous pouvez ensuite écrire un processus de synchronisation qui détecte l'état supprimé en cochant ce champ.

Vous pouvez bien sûr demander au moteur d'interrogation d'inclure les résultats supprimés.

Mindscape LightSpeed ORM

Je fais une hypothèse que nous parlons de la même chose ici :-)

+0

Exactement, il semble un design commun. Je ne sais pas pourquoi ce n'est pas plus répandu. Merci pour l'info. –

0

Je recommande de mettre en œuvre suppression logique externe dans votre application, car ce n'est pas très complexe, mais ce sera plus flexible. Voir this article pour plus de détails.