سؤال

أريد أن أكون مرنًا حتى بعد نشر الكود الخاص بي ، لذا أود استخدام ملف hibernate.cfg.xml لتكوين nhibernate. الآن ، أخطط لاستخدام nhibernate بطلاقة للقيام بكل صفتي => رسم خرائط الجدول. هل هناك طريقة يمكنني استخدام فئة تكوين Nhibernate القديمة لتكوين Nhibernate بطلاقة؟

هل كانت مفيدة؟

المحلول

نعم ، إذا كنت تستخدم API التكوين بطلاقة ال Configure الطريقة لها تحميل زائد يأخذ nhibernate موجود Configuration مثيل ، والذي يمكن بناؤه من hibernate.cfg.xml.

نصائح أخرى

حسنا ، لذلك كان هذا خطأي من الواضح. حاولت تمرير كائن تكوين nhibernate إلى طريقة configure () ، لكن الكود الخاص بي كان يرفع جميع أنواع الأخطاء. كانت المشكلة مع إصدار مستخدمي Nhibernate "Fluent-Nhibernate". لم أكن أعرف أن سمة فئة مصنع الوكيل أصبحت إلزامية الآن. لذلك ، كان ملف hibernate.cfg.xml مفقودًا تلك السمة. إنه غريب ، Nhibernate بطلاقة لم يعطيني أي فكرة عن ذلك. عندما حاولت استخدام nhibernate العادي ، وجدت هذه المشكلة. فيما يلي الإصدار المختلفة من ملفات hibernate.cfg.xml الخاصة بي. آمل أن يساعد Devs في المستقبل.

الاصدار الاول

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect,NHibernate</property>
    <property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=SchoolPilot;Integrated Security=True</property>
    <property name="show_sql">true</property>
  </session-factory>
</hibernate-configuration>

الإصدار الثاني

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect,NHibernate</property>
    <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
    <property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=SchoolPilot;Integrated Security=True</property>
    <property name="show_sql">true</property>
  </session-factory>
</hibernate-configuration>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top