كيف يمكنني استخدام فئة تكوين nhibernate مع nhibernate بطلاقة
-
21-09-2019 - |
سؤال
أريد أن أكون مرنًا حتى بعد نشر الكود الخاص بي ، لذا أود استخدام ملف 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>