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
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?
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?
Naja, nicht bei meiner Aussage von eben aber die Datei ist da.
(Im Verzeichnis Projects\NHibernateTest\FirstSample\src\FirstSolution.Tests\bin\Debug)
...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.)
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.
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
Brauchen nein.
Und Middleware hat auch nichts per se mit ASP.NET zu tun.
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
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?
die Schemadatei muss in den Ordner
%PROGRAMFILES%\Microsoft Visual Studio XYZ\Xml\Schemas
hmm... gleiches Ergebnis.
lustigerweise nur bei der App.config, nicht bei der hbm.xml-Datei.
Verdammt, wo ist denn hier der Wurm?
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
Schau dir auch bitte ActiveRecord oder Fluent.NHibernate an.
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.