Laden...

Anfängerproblem mit NHibernate...

Erstellt von Telefisch vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.089 Views
T
Telefisch Themenstarter:in
374 Beiträge seit 2008
vor 15 Jahren
Anfängerproblem mit NHibernate...

verwendetes Datenbanksystem: noch keins

Jetzt sitze ich schon den ganzen Morgen an der ersten Testapplikation mit NHibernate und nix klappt.

Hat hier jemand dieses TestProjekt gebaut?

Ich hänge hier:

public void Can_generate_schema()
        {
            try
            {
                var cfg = new Configuration();
                cfg.Configure();
                cfg.AddAssembly(typeof(Product).Assembly);
                new SchemaExport(cfg).Execute(false, true, false, false);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }


bei cfg.Configure() schmeisst er den ersten Fehler:

An exception occured during configuration of persistance Layer

Eigentlich kann hier ja noch nicht ganz viel falsch sein oder?
Hab ich irgendwas falsch eingestellt?

tnx, Carsten

Gelöschter Account
vor 15 Jahren

hast du auch das schema erstellt?

T
Telefisch Themenstarter:in
374 Beiträge seit 2008
vor 15 Jahren

Ja, hab ich...
wird das denn zu dem Zeitpunkt überhaupt schon gebraucht?
Bis da hin weiß das Programm doch eh noch nix vom Schema.
Das kommt doch frühestens in der dritten Zeile, wenn die Assembly geladen wird.

Oder verstehe ich das falch?

Gelöschter Account
vor 15 Jahren

This class is used to configure NHibernate. In the second line we tell NHibernate to configure itself. NHibernate will look out for configuration information since we do not provide any information here in the test method. So NHibernate will search for a file called hibernate.cfg.xml in the output directory.

hast du das bedacht?

T
Telefisch Themenstarter:in
374 Beiträge seit 2008
vor 15 Jahren

Naja, nicht bei meiner Aussage von eben aber die Datei ist da.
(Im Verzeichnis Projects\NHibernateTest\FirstSample\src\FirstSolution.Tests\bin\Debug)

T
Telefisch Themenstarter:in
374 Beiträge seit 2008
vor 15 Jahren

...was ich nciht habe ist : sqlceer35EN.dll dafür hab ich sqlceer35DE.dll aber sqlceer35EN.dll gibts bei mir auch net (vermutlich weils ne deutsche Installation ist.)

T
Telefisch Themenstarter:in
374 Beiträge seit 2008
vor 15 Jahren

pff...
die erste Hürde ist genommen.
Die cfg.xml muss im Test-Programm sein, nicht, wie beschrieben in FirstSolution.
So, jetzt die nächste Exception:
Could not dreate the driver from NHibernate.Driver.SqlServerCeDriver.

Das liegt aber vermutlich an den Verweisen zur dll, da muss ich noch suchen.

T
Telefisch Themenstarter:in
374 Beiträge seit 2008
vor 15 Jahren

Kann mir jemand eine Info zu NHibernate geben?

Was ist Burrow ?
Brauch ich das oder ist das nur für ASP.NET?

danke,
Gruss Carsten

F
10.010 Beiträge seit 2004
vor 15 Jahren

Brauchen nein.

Und Middleware hat auch nichts per se mit ASP.NET zu tun.

T
Telefisch Themenstarter:in
374 Beiträge seit 2008
vor 15 Jahren

Ah ok...
war nur ständig die Rede von...

Wozu ist das denn überhaupt gut?

Und nochwas.
wie kann ich die geworfenen Exceptions vernünftig interpretieren?
Ich bekomme grade "Could not compile the mapping document: SecondSolution.Datenbank.User.hbm.xml" an den Kopf geworfen und kann keinen Fehler finden.

Könnte mir höchstens vorstellen, dass der Provider / Datenbanktreiber nicht passt aber wird die Verbindung zu diesem Zeitpunkt schon aufgebaut und müsste der Fehler dann nicht anders lauten?

Danke
Gruss, Carsten

T
Telefisch Themenstarter:in
374 Beiträge seit 2008
vor 15 Jahren

Ich hab in meinem Config-file die nhibernate-configuration.xsd als Schema eingetragen.
Trotzdem bekomme ich Fehlermeldungen, dass dieverse Elemente nicht gefunden werden konnten (add, key, nhibernate etc...).
Ist das so richtig?

G
497 Beiträge seit 2006
vor 15 Jahren

die Schemadatei muss in den Ordner

%PROGRAMFILES%\Microsoft Visual Studio XYZ\Xml\Schemas

T
Telefisch Themenstarter:in
374 Beiträge seit 2008
vor 15 Jahren

hmm... gleiches Ergebnis.

lustigerweise nur bei der App.config, nicht bei der hbm.xml-Datei.

Verdammt, wo ist denn hier der Wurm?

T
Telefisch Themenstarter:in
374 Beiträge seit 2008
vor 15 Jahren

Sodele, nachdem ich zwischenzeitlich noch andere Test gemacht habe, hab ich NHibernate nochmal neu installiert und das o.a. Tutorial nochmal neu erstellt.
Die Probleme kamen nicht zuletzt durch eine Änderung in NHibernate, wo mittlerweiler ein Proxy manuell konfiguriert werden muss, der in der letzten Version wohl noch hart gecoded war...

Also gut, es läuft und ich bin Euch sehr dankbar für die Tipps und die Hinweise auf NHibernate.
Scheint ja ein echt cooles Tool zu sein.

Weitere Fragen stelle ich dann an anderer Stelle 😁

Also danke nochmal,
gruss Carsten

F
10.010 Beiträge seit 2004
vor 15 Jahren

Schau dir auch bitte ActiveRecord oder Fluent.NHibernate an.

T
Telefisch Themenstarter:in
374 Beiträge seit 2008
vor 15 Jahren

hmm...
jetzt hab ich drei Tage gebraucht um NHibernat ans Laufen zu kriegen.

Kann man Vor- und Nachteile der verschiedenen Systeme aus der Praxis vielleicht hier erfahren?
Wenn ich mich jetzt entscheiden muss, kann ich die Probleme, die auf mich zukommen wahrscheinlich selbst, mangels Erfahrung, noch nicht absehen.

bis dahin schau ich mir die Beiden auch mal an...

Danke.