J'utilise EF v1 et Velocity cache dans mon application .NET 3.5. Mes objets mis en cache sont une représentation du modèle Entity dans la base de données. J'ai donc décidé d'utiliser EF v1 avec des adaptateurs POCO. Il y a donc une couche d'accès à l'entité qui lit l'objet à partir du cache et, s'il n'est pas présent, le lit dans la base de données et le met en cache immédiatement. Maintenant, dans le cas d'utilisation où une mise à jour est requise, le POCO sale doit être mis à jour dans la base de données. Maintenant, je ne peux pas directement utiliser les adaptateurs et les proxies POCO ici car ils ont besoin d'un support qui surveille les changements. Je n'ai jamais hydraté l'objet adaptateur du framework, donc la détection de changement ne se produit pas. L'option la plus simple que je vois est de:Entity Framework v1 et mis à jour POCO mis à jour
- Lire l'entité avant la mise à jour. Définissez les valeurs de l'adaptateur à partir de POCO. Laisser la détection de changement suivre son cours. Cela fait une sélection avant chaque mise à jour qui pourrait être coûteuse compte tenu de nombreuses entités associées.
- Créez un nouvel objet Entity. Définissez la clé d'entité et les propriétés à partir de POCO. Sauvegarder les modifications. Cela fait des écritures inutiles même lorsque la propriété/l'entité associée n'a pas été modifiée.
J'espère que j'étais clair dans l'énoncé du problème. Veuillez suggérer.