> Tech > La méthode INotifyPropertyChanging

La méthode INotifyPropertyChanging

Tech - Par Renaud ROSSET - Publié le 23 avril 2012
email

Il convient de noter un certain nombre de points à propos des classes utilisées pour l’interaction avec LINQ to SQL.

La méthode INotifyPropertyChanging

Premièrement, la classe Movies implémente INotifyPropertyChanging (à ne pas confondre avec INotifyPropertyChanged, qui est généralement implémentée par les classes employées dans la liaison de données afin de propager les changements de propriétés à l’UI). L’implémentation de cette méthode permet à LINQ to SQL d’optimiser le suivi des objets modifiés.

Si votre classe de table ne met pas en œuvre INotifyPropertyChanging, LINQ to SQL doit créer des objets en double pour chaque élément lu dans la base de données. Une comparaison des doublons permet alors de déterminer la présence de changements. Avec INotifyPropertyChanging, LINQ to SQL créera uniquement un double dès que l’original est modifié. Si votre application utilise un grand nombre d’objets ou des objets de grande taille, cela peut réduire sensiblement la mémoire occupée par l’application.

La propriété MovieId ne déclenche pas l’événement NotifyPropertyChanging, car elle ne doit pas changer après l’insertion initiale dans la base de données. Dans l’attribut Column, vous allez noter que cette propriété a été définie comme clé primaire et qu’il s’agit d’un champ Identity.

Autrement dit, la base de données affectera automatiquement la prochaine valeur d’entier à ce champ lorsque Movie est insérée dans la base de données. La valeur d’OnInsert de la propriété AutoSync signifie que la nouvelle valeur MovieId sera lue immédiatement dans la base de données et l’objet Movie sera mis à jour avec la nouvelle valeur lors de l’insertion d’enregistrement.

Le dernier point à noter est la structure de la chaîne de connexion définie par la constante DBConnectionString, laquelle spécifie pour le moment uniquement l’attribut Data Source. Cet attribut est le chemin à la base de données. Dans notre cas, il s’agit d’un fichier Movies.sdf, situé dans Isolated Storage (spécifié par le préfixe isostore:).

Téléchargez cette ressource

Les mégatendances cybersécurité et cyber protection 2024

Les mégatendances cybersécurité et cyber protection 2024

L'évolution du paysage des menaces et les conséquences sur votre infrastructure, vos outils de contrôles de sécurité IT existants. EPP, XDR, EDR, IA, découvrez la synthèse des conseils et recommandations à appliquer dans votre organisation.

Tech - Par Renaud ROSSET - Publié le 23 avril 2012