Rekon1602 Geschrieben 10. August 2011 Geschrieben 10. August 2011 Hallo. ich entwickle ein Programm weiter, welches über das NHibernate-Framework auf eine MSSQL-Datenbank zugreift. Nun hab ich das Problem, dass mir das NHibernate-Framework eine Exception wirft. Ich hab auch schon die Stelle im Code ausgemacht, die für die Exception verantwortlich ist. Wenn ich bei nachfolgendem Code, die auskommentierten Zeilen einkommentiere, dann tritt der Fehler auf, ansonsten funktioniert der Code. Map(folder => folder.Flags, "Statusflags"); Map(folder => folder.SearchTerm, "Suchbegriff") .Not.Nullable(); //MapAny(folder => folder.Parent, "Parent_ID", "EintragArt") // .AddMetaValue<Folder>() // .AddMetaValue<Project>(); Die Exception, die ich bekomme lautet: {"could not execute query\r\n[ SELECT this_.ID as ID29_0_, this_.EintragArt as EintragArt29_0_, this_.Parent_ID as Parent3_29_0_, this_.ErstellungDatum as Erstellu4_29_0_, this_.LetzteAenderungDatum as LetzteAe5_29_0_, this_.ErstellungBen as Erstellu6_29_0_, this_.LetzteAenderungBen as LetzteAe7_29_0_, this_.RechteFlags as RechteFl8_29_0_, this_.NurSichtbarFuer_ID as NurSicht9_29_0_, this_.Statusflags as Statusf10_29_0_, this_.Suchbegriff as Suchbeg11_29_0_ FROM DokumentBaum this_ ]\r\n[sql: SELECT this_.ID as ID29_0_, this_.EintragArt as EintragArt29_0_, this_.Parent_ID as Parent3_29_0_, this_.ErstellungDatum as Erstellu4_29_0_, this_.LetzteAenderungDatum as LetzteAe5_29_0_, this_.ErstellungBen as Erstellu6_29_0_, this_.LetzteAenderungBen as LetzteAe7_29_0_, this_.RechteFlags as RechteFl8_29_0_, this_.NurSichtbarFuer_ID as NurSicht9_29_0_, this_.Statusflags as Statusf10_29_0_, this_.Suchbegriff as Suchbeg11_29_0_ FROM DokumentBaum this_]"} Wenn ich mir von der InnerException den StackTrace anschaue steht da folgendes: bei System.ThrowHelper.ThrowKeyNotFoundException() bei System.Collections.Generic.Dictionary`2.get_Item(TKey key) bei NHibernate.Type.MetaType.NullSafeGet(IDataReader rs, String name, ISessionImplementor session, Object owner) bei NHibernate.Type.AnyType.Hydrate(IDataReader rs, String[] names, ISessionImplementor session, Object owner) Ich hab auch schon versucht den, durch NHibernate erzeugen, Query direkt im SQL-Server Management Studio auszuführen, und da funktioniert alles, wenn ich "[" und "]" entferne. Ich denke mal, dass es daran aber nicht liegt. [ SELECT this_.ID as ID29_0_, this_.EintragArt as EintragArt29_0_, this_.Parent_ID as Parent3_29_0_, this_.ErstellungDatum as Erstellu4_29_0_, this_.LetzteAenderungDatum as LetzteAe5_29_0_, this_.ErstellungBen as Erstellu6_29_0_, this_.LetzteAenderungBen as LetzteAe7_29_0_, this_.RechteFlags as RechteFl8_29_0_, this_.NurSichtbarFuer_ID as NurSicht9_29_0_, this_.Statusflags as Statusf10_29_0_, this_.Suchbegriff as Suchbeg11_29_0_ FROM DokumentBaum this_ ] Wenn ich den Query im Management Studio ausführe, sieht das Ergebnis wie im Anhang dargestellt aus. Was auch ok ist. Meine Frage ist nun also: Was mache ich falsch? Warum funktioniert es nicht? Ich benötige die beiden auskommentierten zeilen. Zitieren
Rekon1602 Geschrieben 10. August 2011 Autor Geschrieben 10. August 2011 Hab den Fehler mittlerweile gefunden. Für diejenigen, die es interessiert: Im Mapping von NHibernate hat einen Entität gefehlt. Nachfolgende Zeile hat das Problem gelöst. .AddMetaValue<Contact>() Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.