Catégorie: SubSonic

02/02/2010

Permalink 10:37:00, Catégories: Récapitulatif .NET, Récapitulatif, .Net, SubSonic, Récapitulatif Génie Logiciel, ASP.NET, 353 mots   French (FR) , Philippe Vialatte

[.NET][G. Logiciel] Le mauvais coté des ORM…

.c'est quand on doit s'en passer après une longue période d'utilisation !

Tout le mois de Décembre (et une bonne partie de Janvier), j'ai travaillé quasi-exclusivement sur un projet ou la DAL était générée avec des templates tt customisés de Subsonic 3.

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

04/07/2009

Permalink 21:14:00, Catégories: Récapitulatif .NET, Récapitulatif, SubSonic, C#, 152 mots   French (FR) , Philippe Vialatte

[.NET] Subsonic 3.0 est disponible !!!

Ca y'est, enfin !!!

Apres de longs mois d'attente (pour moi), la version 3 de mon outil chouchou sort enfin ;)

Au programme de la version 3:

  • un moteur Linq qui permets d'utiliser Subsonic "à la" Linq to Sql (mais avec toutes les table supportées, Oracle, SQLite, et compagnie)
  • un système de templates basés sur les templates T4, ce qui les rends faciles à customiser ou à faire évoluer
  • une tonne de tutoriels (la version précédente en manquait cruellement), disponibles ici
  • un nouveau système de Repository, qui, couplé aux migrations, permets entre autres une approche beaucoup plus "POCO", et même de générer la base de données automatiquement depuis le code !

Forcément, cette version nécessite le Framework 3.5, ca tombe bien, mon client vient de passer à Visual Studio 2005 ;).

Le lien pour télécharger la bête est là :

http://subsonicproject.com/Download

.et je comptes bien en reparler ;)

Vous devez être identifié pour poster un commentaire.

26/05/2009

Permalink 14:04:00, Catégories: Récapitulatif .NET, Récapitulatif, SubSonic, C#, 153 mots   French (FR) , Philippe Vialatte

[.NET] SQLite et SubSonic

Suite a une question sur le forum (et pour défendre SubSonic, forcement ;) ), je me suis penché, hier soir, sur l'utilisation de SQLite avec SubSonic (un problème de jointure, mais ne nous dispersons pas...)

Du coup, je me suis installé SQLite sur ma machine a la maison, téléchargé le provider SQLite pour ADO.NET, et en...trois minutes, j'ai ma base en route.

Je ne connaissais pas du tout SQLite, mais cette base de données me botte...

Une dll a ajouter au projet web, un fichier db3, et on a une petite base de données relationnelles légère, suffisamment réactive pour des petits volumes, et qui se sauvegarde en copiant le fichier db3...Que du bonheur, quoi ;)

Pour les pré-requis:

Pour une comparaison entre MySQL, PostgreSQL et SQLite, voir ici:

http://www.sqlite.org/speed.html

Vous devez être identifié pour poster un commentaire.

27/04/2009

Permalink 21:23:00, Catégories: Récapitulatif .NET, Récapitulatif, .Net, SubSonic, C#, 346 mots   French (FR) , Philippe Vialatte

[.NET] [SubSonic] Utiliser l’objet InlineQuery

J'avais complètement oublié de le mentionner dans mon article précédent sur SubSonic, mais, de toutes les nouveautés de SubSonic dans la version 2.1, une des plus utiles quand on en à besoin est l'objet InlineQuery.

En effet, comme je le montrais (et si vous n'avez pas lu l'article, allez-y maintenant ;) ), SubSonic peut se révéler très puissant pour travailler avec des opérations de type CRUD, ainsi que pour le mapping des objets de la base de données avec les objets .net, mais qu'en est-il des requêtes "tordues" ou "bizarres" avec lesquelles on est régulièrement forcé de travailler (et je ne vous parle pas des requêtes dont on hérite avec la maintenance d'une application vieille de quelques années :-/.) ?

Est-ce que je ne vais pas avoir aussi vite fait de tout me taper à la main ?

Dans les versions précédentes, on avait grosso modo deux choix :

  1. Créer une vue ou une procédure stockée (en fonction de l'action), et appeler la vue ou l'action à partir de SubSonic
  2. Avoir un moyen annexe pour "shooter" des requêtes directement dans la base (oui, un bon vieux select, avec un datareader, des dataset, des connections, t tout le toutim.)

Depuis la version 2, on à enfin un nouveau choix, plus "propre", et surtout plus rapide à mettre en ouvre, vous l'aurez deviné, l'objet InlineQuery.

En terme de code, il suffit de faire :

ContactCollection contacts = new InlineQuery()
   
.ExecuteAsCollection<ContactCollection>("SELECT * from Contact Where surname = @surname", "Vialatte");

(Ceci est évidemment un exemple simpliste, mais c'est pour donner une idée).

Dans l'exemple du dessus, le @surname va permettre à SubSonic de créer une requête paramétrée directement. Si on avait voulu ajouter plus de paramètres, la fonction attends un tableau d'objets, on peut donc se lâcher ;).

InlineQuery propose aussi des méthodes renvoyant des DataReader, des DataSets, des scalaires (wow, un ExecuteScalar<T> ;) ), et même un ExecuteTypedList, pour renvoyer une liste de T.

Voila, facile, pas cher, que du bonheur :D

Vous devez être identifié pour poster un commentaire.

22/04/2009

Permalink 08:18:00, Catégories: Récapitulatif .NET, Récapitulatif, .Net, SubSonic, C#, 109 mots   French (FR) , Philippe Vialatte

[.NET] [Article DVP] Introduction a SubSonic

Aujourd'hui, jour de sortie d'article ;)

Apres pas mal de transpiration (premières lignes écrites en Décembre), voila un tutoriel sur l'utilisation de base de SubSonic (SubSonic, c'est bon, mangez-en ;) )

L'article est présent ici :

http://philippe.developpez.com/articles/Subsonic/

Le bon coté,  c'est que maintenant que l'article est publie, je vais pouvoir parler un peu plus de SubSonic sur ce blog (avant, je n'avais pas de référence en français a fournir :D )

Maintenant, allez télécharger SubSonic, et commencez a travailler avec une DAL propre et facile a utiliser en moins de temps qu'il ne vous en a fallu pour lire ce post...

Vous devez être identifié pour poster un commentaire.

Liste des blogs

Blog de Philippe Vialatte

Ce blog contient:
- des bouts de code
- quelques news
- des états d'âme

....et des fois, quelque chose d'intéressant ;)

Blog roll

Profil MVP

Réseaux sociaux



Catégories


Rechercher

<  Mai 2012  >
Lun Mar Mer Jeu Ven Sam Dim
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Syndiquez ce blog XML

Articles :

Commentaires :

 
 
 
 
Partenaires

Hébergement Web