Subsonic Vs NHibernate

szavazat
72

Mi a concensus mikor kell használni az egyik ilyen eszköz adversed a többi? Találom Subsonic nagyon hasznos szempontjából egyre dolgokat gyorsan, de a nagy projektek hajlamos nem méretarányos, és kapcsolatait a domain modell az adatbázis modell. Ez az, ahol NHibernate jön, mert megadja könnyű Pocos, amelyek nem kapcsolódnak az adatbázis modell, de a beállítási idő sokkal hosszabb.

A kérdést 04/08/2008 17:29
a forrás felhasználó
Más nyelveken...                            


15 válasz

szavazat
83

Kapok feltette ezt a kérdést, és sokat igazán jön le, hogy mennyit akarsz trükközni. El sem tudom mondani, mennyire káros Chris Cyvas hozzászólásainak RE szubszonikus skálázás volna -, és én már reagál ezekre azóta :(.

Az alku - perf-bölcs, szubszonikus mérlegek nagyon szépen. Ami a projekt növekedés -, bármilyen szerszám használata megköveteli a figyelmet. Még NHibernate.

Írtam egy bejegyzést arról, hogyan kell használni a Repository minta DI (mint ahogy azt NHIb vagy bármilyen eszköz, ami azt illeti) a szubszonikus 2,1:

http://blog.wekeroad.com/blog/subsonic-writing-decoupled-testable-code-with-subsonic-2-1/

Azt is írta a bejegyzést a teljesítmény szubszonikus:

http://blog.wekeroad.com/blog/subsonic-scaling/

Remélem ez segít.

Válaszolt 12/09/2008 22:54
a forrás felhasználó

szavazat
45

Én azt javasolnám, szubszonikus ha a projekt működik ActiveRecord véli, hogy az adatbázis a modellt. Kapsz egy osztályban egy asztal, és minden csak varázsütésre működik. Akkor természetesen csípés és felülírja a dolgokat, de ha Ön (vagy projekt) alapvetően nem ért egyet az osztály-per-tábla megközelítés, azt nézd meg NHibernate hiszen kezdődik a bonyolultabb (de rugalmasabb) megközelítése térképszerkesztéshez tartomány modell az adatbázisba.

Ha egy viszonylag egyszerű adatbázis, ami az Ön irányítása alatt (mint, meg lehet változtatni az oszlopok küldése nélkül nyolc évfolyammal egy adatbázis osztály felügyeleti felülvizsgálati tanács), én azt javasolnám, kezdve szubszonikus és a mozgó NHibernate ha szubszonikus nem megfeleljen az Ön igényeinek.

Válaszolt 06/08/2008 22:47
a forrás felhasználó

szavazat
31

Mert mit megéri ... volt már a lehetőséget, hogy használja mindkét technológiát meglehetősen Abit inkább, mivel kérdezi ezt a kérdést. És azt kell, hogy maradjon, ami, ha ezeket a technológiákat úgy dönt kérdésekben nagyon kevés. Persze NHibernate lehetővé teszi az üzleti szervezetek valamivel kevésbé csatolva az adatbázis szerkezetét, de még mindig találni, hogy sokan vannak alkalmak, amikor még mindig van, hogy hajlítsa akarata az adatbázisban.

Véleményem az egyetlen igaz utat, hogy teljesen szétválasztani a Domain Model, saját adatbázis modell írni a saját DTOS (lényegében Pocos áthaladó adatok körül), majd map őket vissza a ORM a választás az adatok réteg. De a legtöbb esetben, ez a megközelítés számomra több gond, mint az ér.

Válaszolt 05/03/2009 10:23
a forrás felhasználó

szavazat
13

Kissé off topic, de hasonló szellemben. Már nézett Castle ActiveRecord meg van írva a tetején NHibernate és megszünteti annak szükségességét, hogy időt létre XML leképezés a kódot az adatbázisba. Mint NHibernate akkor strukturálják a domain tárgyakat csak akar, és később generál adatbázissémát ebből a szerkezetből.

Segítségével ActiveWriter egy hozzájárultak eszköz, akkor könnyen Térkép az adatbázisból domain tárgyakat.

Válaszolt 05/08/2008 06:07
a forrás felhasználó

szavazat
9

Lehet úgy nézett Fluent NHibernate; ez teszi irányító NHibernate a szél. Nem biztos benne, hogy milyen nehéz lenne, hogy átmenet egy meglévő sémát, de ha építünk egy új alkalmazás örülök, hogy meghatározza a domain modell, és ezáltal az adatbázist elég sok minden DB szerver lehet gondolni. Olvasva a többi hozzászólás itt, azt hiszem Fluent NHibernate hozza NHibernate par szubszonikus a könnyű konfigurációt.

Válaszolt 04/03/2009 21:17
a forrás felhasználó

szavazat
7

Én írtam egy blogbejegyzést a közelmúltban arról .NET ORMS amely Subsonic benne, és ActiveRecord. Az én tapasztalataim attól függ, mi a projekt során Subsonic sokat dolgozik jobb, ha jön egy SQL alapon de NHibernate több ontop belőle. ActiveRecord jó a kisebb projektek, nem vagyok meggyőződve arról, hogy gyorsabb, nagyobb projektek, mint ragadt NHibernate.

Válaszolt 07/10/2008 11:10
a forrás felhasználó

szavazat
7

Nem tudok adni egy jó összehasonlítás mint amit valójában még nem használt NHibernate egy projekt, de már használt szubszonikus, és már nagyon boldog vele. Eddig én még nem érte semmilyen jelentős akadályokat, amikor használja.

Nézze meg ezt a bejegyzést Rob Conery, az egyik az alkotók szubszonikus. Arról beszél, hogyan kell elválasztani a szubszonikus kódot a többi alkalmazást. Még megemlíti azt a tényt, hogy ez az architektúra lehetővé tenné, hogy később cseréld le szubszonikus valamilyen más adatelérési réteg, mint NHibernate vagy LINQ to SQL.

Tudom, én valójában nem válaszolni a kérdésre, de remélem, ez még mindig segít.

Válaszolt 04/09/2008 20:25
a forrás felhasználó

szavazat
5

Én is értékeltük, és úgy vélem, nem lenne fair, hogy javasolja az egyik vagy a másik megértése nélkül milyen céljai vannak. Az Ön kérdése te azt a különbségeket is, és azt hiszem, hogy kell lennie a döntő tényező. Személy szerint én használtam mind, és továbbra is használni mindkét függően a projekt.

  • NHibernate az én választásom nagyobb léptékű projektek, mert felhasználása könnyű POCO években. Ha én valaha is válthat ki én ORM „Hiszek” ez sokkal könnyebb lenne a refactor.
  • Szubszonikus az én választásom, ha van egy kisebb léptékű projekt. Úgy vélem, hogy teljesítmény tekintetében szubszonikus jól skálázható. Azonban úgy érzem, szorosan összekapcsolt vele, mert annyira vésett én projekt. A kisebb projekten is kapcsolja ki, mert a kód bázis olyan kicsi, és ez sokat segít nekem kitépje kód reklámozott.
Válaszolt 26/01/2009 14:37
a forrás felhasználó

szavazat
4

Ismét kicsit off-topic, de én második Castle ActiveRecord - ahelyett, hogy az adatbázist a modell (Subsonic megközelítés), vagy órákat XML spagetti (NHibernate megközelítés) egyszerűen helyet tulajdonít a modell osztályok.

Akkor is kap ActiveRecord hogy létrehoz a adatbázissémát az Ön számára.

Már használják ezt a módszert jó néhány projekt most, és az előnyök a következők:

  • Egyszerű frissítés útvonalát NHibernate szükség esetén a jövőben
  • Támogatás egyszerű öröklés modellek - pl. Autó -> Jármű
  • A séma generál a legvalószínűbb, hogy hogyan jött volna létre, meg amúgy is, így több ideje marad az alkalmazás helyett aggódni tartsa modell / db szinkronban.
Válaszolt 16/09/2008 13:15
a forrás felhasználó

szavazat
4

Azt hiszem, elég sok szegezett rá. Szubszonikus generál kódot, így az üzleti objektumok lesz fényvisszaverő az adatbázis szerkezetét. NHibernate használ mapping fájlok Térkép az üzleti objektumokat az adatbázisba, így a tárgyakat lehet strukturált viszont tetszik.

Mekkora a projekt ez? Lesz hosszú távú szükséges támogatást? A költséghatékonyság szubszonikus lesz ellensúlyozni az esetleges méretezés kérdések?

Válaszolt 04/08/2008 18:12
a forrás felhasználó

szavazat
3

Tekintsük a csapat, és a projekt mérete, ha figyelembe vesszük ActiveRecord.

Az én tapasztalatom, ActiveRecord absztrakció tetején NHibernate hogy kezd szivárgó mint a szita, amikor megpróbál bonyolultabb forgatókönyvet.

Ha van egy közepesen erősen bonyolult vagy nem egyértelmű sémát, kibír NHibernate. Akkor bonthatja meg közel tökéletes.

A másik hely, akkor lehet, hogy bajba van, amikor szükség van egy közepesen bonyolult lekérdezés. ActiveRecord rejt sok NHibernate végrehajtása ... de akkor meg kell, hogy egy bonyolult lekérdezés, ami nagyon nehéz lesz, ha teljesen ismeretlen HQL. Legyen óvatos a csapat tagjai nem csak hack el a szélek helyett tanulás NHibernate és HQL.

Válaszolt 02/10/2008 20:26
a forrás felhasználó

szavazat
3

Mi bootstrap a szubszonikus és most próbálják értékelni, ha fogunk váltani NHibernate most, hogy mi vagyunk a fájdalom pontok szubszonikus.

A másik lehetőség az, hogy egyfajta középutat ahol használni szubszonikus lekérdezni és töltse fel tetszőleges objektumok azok „végre a gépelt lista” funkciót, amely nem a neve alapján feltérképezése le egy tetszőleges LINQ stílust SQL utasítást. Vagy, hogy megpróbálja újra egy kicsit a NHibernate és refactor a többit.

Tehát azt mondom, szubszonikus értelme kis alkalmazást, de a karbantartási szubszonikus alkalmazások kap elég szőrös, van, különösen nehéz időkben átfedő érvényesítő kódot, és pre / post-kód által kiváltott események. Az aktív rekord minta, szubszonikus mindenképpen 80% van, de nem asok egy pelyhes megtervezésében, és megáll akkor attól, hogy bármilyen valós felett a öröklődési hierarchia, hiszen minden osztály kell örökölni egy táblázatot, hogy újra az asztalhoz.

Válaszolt 30/08/2008 07:18
a forrás felhasználó

szavazat
2

Úgy vélem, meg kell ragaszkodni, amelyik tudja használni a legjobb. A végső cél a termelékenység és a jó teljesítményt nyújtó minőségű kódot. Ha tudja szubszonikus ki és aztán ragaszkodni hozzá, és ha tudja, NHibernate mélyreható bottal NHibernate. Ez nagyon szubjektív kérdés. Azt is meg kell vizsgálni, hogy milyen a csapat tagja vannak szakértelem. Ha jó benne lesz arra, hogy könnyen fenntartása.

Láttam a nagy projektek segítségével szubszonikus mivel NHibernate már híres és széles körben használják.

A döntést a szedés ORM nem kizárólag attól függ, ORM is.

Válaszolt 03/11/2009 06:52
a forrás felhasználó

szavazat
2

Csodálja meg a impedancia eltérés!

ezt nézd meg

:)

Vagy nem. Ha azt szeretnénk, teljesítmény, csináld magad. Ha azt szeretné, hogy gyors és egyszerű, menjen NHibernate ActiveRecord. Ha tetszik, amit tesz, mintha valóban tudja, mi folyik a adathozzáférési szinten használja NHibernate és üljön XML egész nap, hogy sok-sok megy ... Vagy csak ... ööö .. csináld magad - ADO.Net FTW!

Válaszolt 08/02/2009 02:51
a forrás felhasználó

szavazat
0

A tanácsot kaptam a témában, hogy Subsonic nem skála kezel bonyolultabb forgatókönyvet, és így ha megy ezen az úton, akkor a végén egy feladatot próbál felcserélését egy fejlettebb ORM.

Én így jobban érdekelt a NHibernate Bonyolult esetekben, Castle Active Record egyszerűbb esetekben és am szem előtt tartva Fluent NHibernate ami kell, hogy NHibernate feltérképezése sokkal könnyebb (különösen, ha az egyezmény alapján térképészeti támogatás javult).

Válaszolt 25/10/2008 15:20
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more