[Linq To SQL] Réparer le namespace des fichiers .dbml utilisés pour Linq To SQL

By Aymeric on janvier 31st, 2010

En utilisant Linq To SQL, il arrive après une modification du fichier .dbml de ne plus avoir accès aux données en affichant une erreur du type :

The type or namespace name 'Article' could not be found (are you missing a using directive or an assembly reference?)

Pour résoudre ce problème, vérifier premièrement dans le fichier .designer.cs de votre fichier .dbml que le namespace est correct (VotreProjet.LeDossier par défaut).
Si le problème persiste, vérifier dans les propriétés du fichier .dbml que Entity Namespace et Context Namespace aient bien la valeur du namespace précisée dans le fichier .designer.cs.

[Linq To SQL] Modification des données grâce à Linq To SQL et aux procédures stockées

By Aymeric on décembre 9th, 2009

Cet article est la suite de l’article Lier une base de données et un GridView avec Linq To SQL.

Ici il est question des procédures stockées. Comme vous avez pu le remarquer dans l’article précédent, nous n’avons écrit aucune ligne de code pour construire des requêtes SQL, tout s’est fait automatiquement.

Pourquoi s’embêter à écrire du code alors ?

Les procédures stockées sont enregistrées et pré-compilées dans la base de données SQL Server, ce qui est un gain de rapidité et de performance. Toutes les procédures stockées sont enregistrées au même endroit dans la base de données ce qui simplifie grandement leurs éditions. Dernier atout qui n’est pas à négliger, la sécurité. En effet toutes les modifications de la base de données se font via les procédures stockées. A aucun moment l’utilisateur n’a un accès direct à la table.

  • Création de la procédure stockée. Ici l’exemple porte sur un UPDATE, mais c’est également valable pour les INSERT/DELETE
  • Ajout de la procédure stockée dans le fichier .dbml (glisser déposer depuis le Server Explorer)
  • Changement de la méthode par défaut UPDATE dans la classe Customer

Voici le projet utilisé dans la vidéo : ici.

[DXPerience] Lier une base de données et un ASPxGridView avec Linq To SQL

By Aymeric on décembre 8th, 2009

Suite de mes articles sur les technologies .NET et DXperience. Le but est ici de lier efficacement une base de données à un ASPxGridView grâce à Linq To SQL graphiquement.

Petite précision, mon OS et mon IDE (Visual studio) sont en anglais, si le votre est en français, vous n’aurez pas exactement les mêmes mots, mais vous vous y retrouverez sans problème.

Voici les étapes et quelques explications concernant le screencast.

  • Créer un nouveau projet web
  • Ajouter un élément : Linq To SQL Classes
  • Glisser/Déposer les tables dont vous avez besoin dans le fichier .dbml
  • Ajouter un ASPxGridView dans votre fichier Default.aspx
  • Ajouter un Datasource Linq Server Mode Source

Il est préférable de choisir un Linq Server mode Source plutôt qu’un LINQ. Il offre de meilleures performances sur les tables contenant un grand nombre de données. Vous pouvez constater par vous même ces performances ici.

  • Enregistrer le projet (Sinon vous aurez des problèmes par la suite)
  • Dans les propriétés du LinqServerModeDataSource, déroulez la liste de la propriété ContextTypeName et indiquez votre DataContext. Pour la propriété TableName, choisissez la table que vous souhaitez voir apparaître dans votre ASPxGridView.
  • Si vous le souhaitez, passez à true les propriétés EnableDelete, EnableInsert et EnableUpdate, pour autoriser la suppression, l’ajout et la modification de données dans cette table.
  • Si vous avez autorisé la modification des données dans le LinqServerModeDataSource, n’oubliez pas d’activer ces fonctionnalités dans l’ASPxGridView.

Pour une utilisation plus poussée, je vous conseille l’excellent screencast de Mehul Harry disponible ici (en anglais).

Vous pouvez télécharger le projet utilisé en cliquant ici.