Zum Inhalt springen

NHibernate: Keine Einträge gefunden


Empfohlene Beiträge

Geschrieben (bearbeitet)

Hi,

ich arbeite grad zum ersten Mal mit Hibernate bzw. OR-Datenbanken und habe mir diese Anleitung kopiert, bekomme aber keine Ergebnisse angezeigt. Es fliegt auch keine Exception.

Ich habe auch schon versucht, die Ergebnisliste generisch zu machen, was aber auch nichts bringt.

Meine Funktion MySQLQuery liefert mir aber den gesuchten Datensatz, wo liegt also der Fehler?


namespace NHibernate

{

    class Program

    {

        private static void MySQLQuery()

        {

            string connString = "Server=localhost;Database=Nhibernate_test;uid=root";

            MySqlConnection connection = new MySqlConnection(connString);

            connection.Open();

            string command = "SELECT * FROM helloworld";


            try

            {

                MySqlDataReader reader = new MySqlCommand(command, connection).ExecuteReader();

                while (reader.Read())

                {

                    Console.WriteLine(reader.GetString("Message"));

                }


            }

            catch (Exception e) { }

            finally

            {

                connection.Close();

            }

        }




        private static void NHibernateQuery()

        {

            Configuration config;

            config = new Configuration();

            config.SetProperty(NHibernate.Cfg.Environment.ConnectionProvider, "NHibernate.Connection.DriverConnectionProvider");

            config.SetProperty(NHibernate.Cfg.Environment.Dialect, "NHibernate.Dialect.MySQLDialect");

            config.SetProperty(NHibernate.Cfg.Environment.ConnectionDriver, "NHibernate.Driver.MySqlDataDriver");

            config.SetProperty(NHibernate.Cfg.Environment.ConnectionString, "Server=localhost;Database=nhibernate_test;uid=root");

            config.AddAssembly("NHibernate");

            ISessionFactory factory;

            factory = config.BuildSessionFactory();

            Console.WriteLine("Configured");

            ISession session = null;

            IList<TheData.MessageProvider> messages = null;


            try

            {

                session = factory.OpenSession();


                //messages = session.CreateCriteria(typeof(TheData.MessageProvider)).List();

                messages = session.CreateCriteria<TheData.MessageProvider>().List<TheData.MessageProvider>();

                Console.WriteLine("NofMessages:{0}\n", messages.Count);

                foreach (TheData.MessageProvider aMessage in messages)

                {

                    Console.WriteLine("Id:{0} - Message:{1}", aMessage.Id, aMessage.Message);

                }


            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.Message);

            }

            finally

            {

                session.Close();

            }


            Console.Read();

        }



        static void Main(string[] args)

        {

            MySQLQuery();

            NHibernateQuery();

        }

    }

}



namespace TheData

{

    public class MessageProvider

    {


        public MessageProvider()

        {

        }

        public int Id { get; set; }


        public string Message { get; set; }

    }

}

<?xml version="1.0" encoding="utf-8" ?>

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" default-access="property">

<class name="TheData.MessageProvider, NHibernate" table="helloworld">

<id name="Id" column="Id">

<generator class="identity" />

</id>

<property name="Message" column="Message"/>

</class>

</hibernate-mapping>

Bearbeitet von Saheeda

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...