Entity Framework - mettre à jour la documentation à partir de la documentation des champs de la base de données
Avec SQL Server, il est possible d’ajouter des commentaires sur les tables et sur les colonnes.
Il y a plusieurs solutions pour ajouter ces informations :
- soit depuis SQL Server Manager Studio :
- en mode design sur les tables
- avec le diagramme de la base de donnée
-
Soit en T-SQL
EXECUTE sp_addextendedproperty --or sp_updateextendedproperty
N'MS_Description', 'my description',
N'USER', N'dbo',
N'TABLE', N'MyTableName',
N'COLUMN', N'MyColumnName'
Pour récuperer la description, il faut ensuite executer la procédure suivante :
SELECT [value]
FROM fn_listextendedproperty (
'MS_Description',
'schema', 'dbo',
'table', 'MyTableName',
'column', 'MyColumnName')
Au niveau de Entity Framework, il est possible d’ajouter de la documentation au niveau des propriétés des entités.

Lorsque l’on renseigne le champ “Summary” de la documentation, les commentaires XML sont rajoutés, on voit alors la documentation depuis l’Intellisense des propriétés.

Malheureusement, lorsque l’on met à jour un fichier edmx à partir de la base de données, les descriptions ne sont pas mises à jour.
Je me suis intéressé au problème et fait quelques lignes de code pour synchroniser la documentation présente dans la base vers l’edmx.
J’ai mis mon projet sur codeplex : http://eftsqldocgenerator.codeplex.com/

Que pensez vous de cet outil ? Souhaitez-vous qu’il évolue (synchronisation bidirectionnelle, documentation sur les relations, …) ?