Vra

Hi ek blyk te wees op'n ORM Instrument kruispad en wil graag'n paar advies van mense wat die gesig gestaar het'n soortgelyke uitdaging.In die verlede het ek het al met behulp van CodeSmith met NetTiers Templates te genereer my DAL al is baie goed, maar ek het besluit om te val vir een of ander rede.

So ek is by'n kruispad en het gevind dat die volgende:-

  1. Ek het gekyk na PLINQO (Linq te SQL) wat blyk om te doen'n groot werk egter met Microsoft onseker van Linq te SQL-dit is dalk nie'n goeie keuse.
  2. Linq te Entiteite - Dit is nog in sy kinderskoene en ek mag verkeerd wees maar mense kla oor die opblaas en hoe Gestoor Prosedures
  3. Ek het gekyk na nHibernate, dit miskien die beste keuse, maar dit blyk te wees'n steil leerkurwe
  4. Ditto vir LLblgen
  5. Subsoniese - Nie seker oor dit?
  6. Hou met die probeer en getoets NetTiers, vergeet van die opblaas, vergeet dat jy gedwing word om te gebruik om die onderneming biblioteek, vergeet van die dinamiese sql dit skep, vergeet dat hulle byna geen aktiwiteit op die forums, vergeet dit en gebruik dit!

Ek het reeds eie Codesmith en wil nie te koop enigiets anders, die kode wat gegenereer word moet werk in die Medium Vertrou af...

Is daar dalk ander wat ek gemis het.Ek is op soek na antwoorde wat verduidelik waarom die ORM Instrument is die moeite werd op soek na.

Dankie Richard

Was dit nuttig?

Oplossing

Ek gebruik .netTiers myself op die laaste projek.maar op die een wat ek werk op die oomblik het ons probeer om Linq 2 Entiteite.Jy is reg oor Linq2EF nie volwasse.Ons doen teef oor dit al die tyd dit is hoekom ons gebruik T4 templates wat genereer kode van die EDMX lêer.Ons het ook verander diegene templates so ons het Besigheid Voorwerpe, Koppelvlakke vir die inspuiting en DAL + DAO.Ons is gelukkig om hoe dit werk nou.Die goeie ding is wat ons kan gebruik LINQ teen Entiteite.

Anders ek wil ook voorstel Vlot nHibernate (skakel) om jou.Dit was een van die dinge wat ons ook in ag geneem.Maar jy sal hê om te skryf baie van die dinge op jou eie.Dit is nie soos wat jy gebruik om te in .netTiers waar al die kode te kry vir jou gegenereer.

Sedert Subsoniese 3 (skakel) is net oor een week oud ek stel voor jy check dit uit.Gebaseer op wat ek gesien het dit lyk baie belowend.En dit maak gebruik van T4, sodat jy kan sny&dice dit aan jou behoeftes akkommodeer.

Ander wenke

Ek het probeer om'n paar vir'n paar weke en uiteindelik gevestig met NHibernate.Dit is baie maklik om te pas.Daar is'n leerproses en dit neem'n bietjie langer om te stel dat iets soos linq te sql maar die onderstebo van hierdie is dat dit nie lyk soos magic.Jy sal verstaan hoe dit werk en sal in staat wees om dit aan te pas presies om jou behoeftes te pas.Die gemeenskap is ook baie goed en daar is'n baie van die beskikbare dokumentasie.Dit lyk vir my te wees'n goeie balans tussen'n moderne ORM (Geen kode generasie, kan gebruik POCO se), en volwassenheid.

Jy kan probeer DataObjects.NET. Dit ORM gebruik "Code-eerste" benadering, ondersteun DB skema opgradering en LINQ. Bevestig hierdie kort beskrywing http://www.x-tensive.com/Products/DO/ .

Ek dink die twee mees gerespekteerde en sterk ORM gereedskap nou is nHibernate en LLBLGen Pro .

nHibernate = Baie domein gedrewe georiënteerde.

LLBLGen Pro = Data-gedrewe georiënteerde.

Hulle is albei uitstekende en vir elke projek, afhangende van dit is die natuur 'n mens kan meer gepas oor die ander wees. Dit kom ook dikwels af na persoonlike keuse en voorkeure of selfs kultuur die ontwikkelingspan se.

Soos ek gesê hoewel Op die ou end, algehele hulle is albei uitstekende en hulle het albei hul effense voordele / nadele.

Vir redes om 'n ORM gebruik hier is 'n skakel na 'n blog post deur Glenn Blok wat dit alles sê regtig. Soos vir my ervaring, net meer as 'n jaar gelede het ek was op soek na 'n ORM gebruik en ek gekies NHibernate.

PERSISTANCE vir my 'n probleem opgelos, as 'n vorm van kartering van my domein model om my relasionele data dit is iets wat ek nie hoef te bekommer oor nie. Ek kyk na Linq Om SQL maar dit het net my nie genoeg beheer oor hoe data is gekarteer om my voorwerpe en die Entiteit Raamwerk was nie waar naby volwasse genoeg vir my smaak. Nog 'n groot projek 'n paar van my span is besig met gebruik NetTiers en CodeSmith en soos jy sê, die opblaas, kodegenerasie (en die groot hoeveelheid daarvan) het my laat voel 'n bietjie quesy. Op die ou end, het ek gekies NHibernate want vir my is dit een van die mees volwasse Orms daar buite en dit verskaf eienskappe wat nie net 'n fyn grein voorwerp model sou ondersteun, maar dit het 'n ingeboude in die gebruik daarvan fasiliteite en dit spreek inherent ander prestasie kommer soos caching.

Ja, ek sal erken dat die leerkurwe is redelik steil, maar as jy die tyd om te belê, die voordele wat jy sal kry uit dit is groot. Die blogs van Ayende Rahien en Fabio Maulo is 'n bron van inligting oor NHibernate. Daar is 'n paar LINQ ondersteuning vir NHibernate via hierdie LINQ verskaffer maar Steve Sterk is tans saam om funksies wat vol LINQ ondersteuning in NHibernate sal voorsien. So dit is alles gaan vir NHibernate maar aan die einde van die dag, dit hang af wat jy die meeste gemaklik met.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top