11 messaggi dal 10 agosto 2004
Post che mi interessa da vicino, sto cercando di scegliere che tipo di architettura usare in alcuni miei software, che devo dire assolutamente meno sotto carico del vostro e dopo aver letto il libro di Pialorsi e Russo su Linq mi stavo orientando proprio verso LinqToSql. Leggendo in giro e facendo alcune domande però molti considerano LinqToSql non proprio adatto per fare software di tipo "enterprise", per cui ti posso chiedere se avete preso in considerazione per il dal altri framework OR\M tipo Nhibernate e cosa vi ha fatto scegliere LinqTOSql ? Mi conforta vedere che altri lo stanno usando in software che non siano solo procedure di amministrazione, penso che il discorso legato alla produttività di questo framework sia un fattore importante da tenere in considerazione.
Stefano
Guarda ti rispondo io ;)
Abbiamo tenuto in considerazione anche altri ORM, e la scelta è nata su LinqToSql per due ragioni, semplicità di utilizzo e db nuovo.
Personalmente sono un fan di NH, ma nel nostro caso non era la scelta migliore.
Quando discutevamo su quale ORM scegliere abbiamo analizzato, esperienza del Team con il possibile ORM, skill del team di sviluppo, possibile supporto della ditta produttrice, cose non da poco.

Con L2S è molto più facile da utilizzare, se sbagli a scrivere non ti compila, con NH e EF, il mapping è un po' più complesso e, nel caso di NH, le query sono stringhe e se uno sbaglia a mettere un punto te ne accorgi a runtime.
Se sei sicuro che questo non provochi problemi/rallentamenti nel tuo team perchè esperto di NH e ha un skill medio/alto, allora va benissimo scegliere NH o EF.

Oltre a questo abbiamo tenuto in considerazione che il disegno del database è stato fatto da zero, idem per L'object Model e questo ci ha permesso di non avere grandissimo problemi con L2S.
Resta il fatto che dove L2S non è arrivato siamo andati a mano.

Per quanto riguarda WCF la questione è dura.
Resto dell'idea che dopo Excel è il più bel prodotto Microsoft, ma anche uno dei meno documentati.
Quando solleva delle eccezioni riuscirne a tirare fuori qualcosa è veramente dura.

Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it
come ha detto Ugo, se parti adattandoi a LINQ to SQL, hai enormi vantaggi in produttività. fermo restando che in alcuni passaggi abbiamo dovuto rivedere un attimo modello ad oggetti/db perchè sulla carta era fantastico, ma poi LINQ to SQL non era d'accordo  )

personalmente ho imparato molto da questo progetto e credo che l'unico vero difetto che ha LINQ to SQL sia nel come gestisce l'ereditarietà, con quel suo meccanismo che è un po' così. io personalmente non sono un fan di NH, nè degli ORM in generale, ma con LINQ to SQL sono riuscito tutto sommato a farmelo piacere.

non è vero che non è scalabile o manutenibile, specie se usi le lambda anzichè la query syntax (cosa che preferisco, quando possibile). in alcuni casi viene meglio usare l'una ed in altri l'altra, in alcuni casi una cosa facile in un modo è quasi impossibile nell'altro.

e nel progetto di cui stiamo parlando, infine, il modello ad oggetti è tutto sommato semplice e la grande limitazione del mapping 1:1 tra oggetto e tabella nel nostro caso specifico non è stato un peso troppo grande. e, problemi bloccanti a parte, direi che ci abbiamo messo circa 1/3 del tempo necessario a fare la stessa cosa nel modo canonico

Daniele Bochicchio | ASPItalia.com
I nostri libri
Chief Digital Officer@icubed
Microsoft Regional Director, Microsoft MVP
Dimenticavo, in caso di cache distribuita L2S è un problema :)
Il domain non è serializzabile, la PI di NH avrebbe aiutato parecchio.
Abbiamo dovuto fare dei "work around" per poter mettere i nostri oggetti nella cache distribuita.

Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.