[VB.NET] Vermiste Hibernate functionaliteit in LINQ

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Josvds
  • Registratie: November 2004
  • Laatst online: 26-08 20:42
Ik ben bezig met de ontwikkeling van een product binnen VB.NET.
Nu heb ik eerder geprogrammeerd in Java en daarbij gebruik gemaakt van Hibernate.
Dit is ook mogelijk voor .NET (NHibernate) maar Microsoft heeft een eigen versie LINQ.

Nu is mijn vraag eigenlijk weet iemand toevallig antwoorden op de volgende vragen en/of dit mogelijk is in LINQ:

- Kan een associatie ook zonder de opgave van de id in het object zelf? Hibernate had binnen het model niet het id nodig als variable van de relatie tabel. Nu moet je namelijk bij klant bijvoorbeeld "Dim idBedrijf As Integer" neer zetten om een relatie te kunnen leggen. Wat Hibernate in de achtergrond deed.. Dit gewoon om de code zuiver te houden.

- Hibernate kon ingesteld worden dat bij eventuele aanpassingen van de modellen de database hierdoor zou worden bijgewerkt. Ik heb wel gevonden hoe ik de database kan genereren a.h.v. de modellen maar niet hoe ik deze up2date kan houden.

Bedankt.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
LINQ is zeker geen eigen versie van NHibernate!

Je doelt misschien op LINQ to SQL, wat wel een Object-Relational-Mapper is. Ik kan je niet echt antwoorden op je vragen geven, want ik heb nooit echt wat gedaan met LINQ to SQL, maar als je al bekend bent met Hibernate zie ik niet in waarom je niet gewoon gebruik zou maken van NHibernate.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Josvds
  • Registratie: November 2004
  • Laatst online: 26-08 20:42
Nou omdat Hibernate open source is en ik eigenlijk verwacht dat LINQ dat alles ook wel in zich heeft en voor microsoft ontwikkeld is.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Nogmaals, Linq is zelf geen vervanging van NHibernate of een andere O/R mapping tool. Linq is gewoon een syntax om objecten te query'en, en dat kan van verschillende sources.

Lees anders ook even dit topic door: Welke DAL voor .Net
Daar worden meerdere tools besproken.
Nou omdat Hibernate open source
Hoezo is dat een probleem?
en ik eigenlijk verwacht dat LINQ dat alles ook wel in zich heeft
Alle tools hebben hun eigen nadelen, en die zal je dus van te voren moeten bekijken. Het is afhankelijk van het type project, en de manier waarop je werkt wat de beste tool is.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:22
Josvds schreef op vrijdag 26 februari 2010 @ 10:10:
Nou omdat Hibernate open source is en ik eigenlijk verwacht dat LINQ dat alles ook wel in zich heeft en voor microsoft ontwikkeld is.
Linq is heel wat anders.
LINQ is eigenlijk een set van extension methods, die het mogelijk maakt om makkelijk op een object structuur (in memory) te gaan query'en.
Er bestaan ook nog andere implementaties van LINQ , zoals LINQ to XML, en ook LINQ to SQL (dat laatste is echter ten dode opgeschreven, ten voordele van het Entity Framework van MS).

Het Entity Framework is iets à la (N)Hibernate, nl. een O/R mapper.

Als je van een Java/Hibernate achtergrond komt, of je moet een Java/Hibernate applicatie porten naar .NET, dan ben je zowiezo beter af (als in: je zal het sneller geport krijgen), als je gebruik maakt van NHibernate.
(Er bestaat trouwens wel een LINQ provider voor NHibernate).

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Josvds
  • Registratie: November 2004
  • Laatst online: 26-08 20:42
Jullie raden dus eigenlijk eerder NHibernate aan dan het gebruik van LINQ? Waarom is LINQ dan zoveel slechter als ik vragen mag? Ik wil eigenlijk een model ontwikkelen en de database afhandeling moet het framework doen. Pas ik het model aan dan moet dit framework ook de database aanpassen.

Ik heb namelijk tijdens school gewerkt met Java en Hibernate. Nu moet ik echter werken binnen .NET en ontwikkel een volledig nieuw product dus heb geen oude situatie waar ik van uit moet gaan.

[ Voor 25% gewijzigd door Josvds op 26-02-2010 11:32 ]


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:22
LINQ is niet slecht.
Maar nogmaals:


LINQ is geen vervanger voor Hibernate/NHibernate. Het is iets anders.
LINQ gebruik je om te querien op in-memory collecties van objecten. Hier komt geen DB aan te pas.

Je hebt wel LINQ to Sql, maar dan ben je gebonden aan SQL Server. Daarnaast is LINQ to SQL iets wat uitgefaseerd wordt, en is het ook helemaal niet vergelijkbaar met Hibernate, want het is geen O/R mapper.

NHibernate/Hibernate is een O/R mapper, zoals het Entity Framework.

[ Voor 74% gewijzigd door whoami op 26-02-2010 11:49 ]

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Josvds
  • Registratie: November 2004
  • Laatst online: 26-08 20:42
En welke is dan eigenlijk beter? Entity Framework van Microsoft of NHbiernate opensource?
Ik ben namelijk op internet aan het zoeken maar kom alleen maar tegen dat je Entity Framework gebruikt bij een bestaande database en niet andersom, je laat je code niet het beheer doen van de database.

Acties:
  • 0 Henk 'm!

  • beany
  • Registratie: Juni 2001
  • Laatst online: 06:51

beany

Meeheheheheh

Josvds schreef op vrijdag 26 februari 2010 @ 12:16:
En welke is dan eigenlijk beter? Entity Framework van Microsoft of NHbiernate opensource?
Ik ben namelijk op internet aan het zoeken maar kom alleen maar tegen dat je Entity Framework gebruikt bij een bestaande database en niet andersom, je laat je code niet het beheer doen van de database.
Met het Entity Framework kan de database ook vanuit het framework worden gegenereerd. Is een keuze die je maakt.

Verder is NHibernate of het EF ook een keuze. Lees je in, kijk wat de verschillen zijn en welke voor- en nadelen voor jou van belang zijn. Wij kunnen niet bepalen welke voorwaarden jouw project heeft :)

Dagelijkse stats bronnen: https://x.com/GeneralStaffUA en https://www.facebook.com/GeneralStaff.ua


Acties:
  • 0 Henk 'm!

  • Josvds
  • Registratie: November 2004
  • Laatst online: 26-08 20:42
Ik blijf graag op Microsoft omdat .NET Microsoft is en dat is dan alles op dezelfde manier.
Heb je toevallig een goede site of uitleg voor de omzetting en updating van Model -> Database?
Alle sites die ik kan vinden zijn namelijk alleen gericht op reverse enginering van Database een model genereren.

Bedankt iig vast voor jullie tips!

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:22

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • bastv
  • Registratie: September 2005
  • Laatst online: 08-09 20:34
Hou je van objecten slepen en een grafische tool die je code genereert moet je kiezen voor EF 4.0
ander zou ik echt voor NHibernate gaan als ORM mapper en Nhibernate.Linq voor je DAL.

Nhibernate support trouwens generatedatabase en updatedatabase op basis van je model.
Als je dat gaat gebruiken adviseer ik wel FluentNhibernate met conventions.
http://blog.vuscode.com/m...uto-mapping-part-1-2.aspx

een andere goede site met video tutorials over nhibernate
http://www.tekpub.com/preview/nhibernate

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:22
Toevallig: klik

https://fgheysels.github.io/

Pagina: 1