سؤال

ما هي أنواع الاعتبارات الموجودة لترحيل التطبيق من السبات 1.2 إلى 2.0؟ما هي التغييرات العاجلة مقابل.التغييرات الموصى بها؟

هل هناك مشاكل في رسم الخرائط؟

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

المحلول

التغييرات العاجلة في NHibernate 2.0

إذا كان لديك تغطية اختبار جيدة فهذا عمل مشغول.

يحرر:لقد قمنا بالترقية هذا الصباح.لا يوجد شيء كبير.يجب عليك مسح () الجلسة بعد الحذف.تمت إعادة تسمية مساحة اسم Expression إلى Criterion.كل هذه الأمور مذكورة في الرابط أعلاه.التعيينات لا تحتاج إلى تغيير.إنها شفافة تمامًا.اه والمعاملات في كل مكان, ، ولكن من المحتمل أنك كنت تفعل ذلك بالفعل.

بالمناسبة، إليك نظرة مثيرة للاهتمام على التغييرات: http://codebetter.com/blogs/patricksmacchia/archive/2008/08/26/nhibernate-2-0-changes-overview.aspx

نصائح أخرى

لقد وجدت الجواب هنا:

http://blog.domaindotnet.com/2008/08/24/nhibernate-20-gold-released-must-wait-for-linq-to-nhibernate/

الإصدار الذهبي 2.0.0.GA

تغييرات جذرية من NH1.2.1GA إلى NH2.0.0

  • بنية تحتية

    • لم يعد .NET 1.1 مدعومًا
    • لم يعد Nullables.NHibernate مدعومًا (استخدم الأنواع الخالية من .NET 2.0)
    • تم نقل المساهمة.موقع جديد
  • وقت الترجمة

    • تمت إعادة تسمية مساحة الاسم NHibernate.Expression إلى NHibernate.Criterion
    • لدى IInterceptor طرق إضافية.(تمت إعادة تسمية IsUnsaved إلى IsTransient)
    • استراتيجية التسمية
    • انا اطبع
    • IEntityPersister
    • IversionType
    • IBatcher
    • IUserCollectionType
    • IEnhancedUserType
    • IPropertyAccessor
    • تمت إعادة تسمية ValueTypeType إلى PrimitiveType
  • التغييرات العاجلة المحتملة للأطر الخارجية

  • تم نقل فئات مختلفة بين مساحات الأسماء
  • تمت إعادة تسمية فئات مختلفة (لمطابقة أسماء Hibernate 3.2)
  • تحتوي واجهة ISession على طرق إضافية
  • ICacheProvider
  • Iالمعيار
  • مترجم معايير الاستعلام

  • وقت التهيئة

    • لم يعد قسم <nhibernate>، في App.config، مدعومًا وسيتم تجاهله.أصبح مخطط التكوين لملف التكوين وApp.config متطابقًا الآن، واسم قسم App.config هو:<تكوين السبات>
    • يحتوي <hibernate-configuration> على مخطط مختلف ويتم فحص جميع أسماء الخصائص
    • لم تعد خصائص التكوين مسبوقة بـ "الإسبات". إذا كنت تحدد "hibernate.dialect" من قبل، فأنت تحدد الآن "dialect" فقط.
    • سيتم التحقق من صحة جميع الاستعلامات المسماة في وقت التهيئة، وسيتم طرح استثناء إذا كان أي منها غير صالح (يمكن تعطيله إذا لزم الأمر)
    • فحوصات أكثر صرامة لفئات الوكيل (يجب أن تكون جميع الطرق العامة افتراضية)

  • مدة العرض

    • يقوم SaveOrUpdateCopy() بإرجاع مثيل جديد للكيان دون تغيير الأصل
    • لن يحدث التدفق التلقائي خارج المعاملة - معاملات قاعدة البيانات ليست اختيارية على الإطلاق، ويجب أن تتم كافة الاتصالات مع قاعدة البيانات داخل المعاملة، مهما كانت البيانات التي تقرأها أو تكتبها.
    • سيعود NHibernate لفترة طويلة لاستعلامات العد (*) على SQL Server
    • <formula> يجب أن يحتوي على قوسين عند الحاجة
    • قد تتسبب أسماء وظائف HQL هذه في حدوث تعارض في الأسماء المحجوزة لـ HQL وهي:
      • سلسلة فرعية
      • حدد
      • تقليم
      • طول
      • bit_length
      • يتجمع
      • nullif
      • عضلات المعدة
      • عصري
      • com.sqrt
      • العلوي
      • أدنى
      • يقذف
      • يستخرج
      • com.concat
      • حالة الزمن حاليا
      • com.sysdate
      • ثانية
      • دقيقة
      • ساعة
      • يوم
      • شهر
      • سنة
      • شارع
    • <any> عندما يكون meta-type=”class” النوع المستمر عبارة عن سلسلة تحتوي على Class.FullName
      • لتعيين معلمة في استعلام، يجب عليك استخدام SetParameter("paraName"، typeof(YourClass).FullName, NHibernateUtil.ClassMetaType)

  • رسم الخرائط

  • <أي> :نوع التعريف الافتراضي هو "سلسلة" (كان "فئة")
  • مرخصة بموجب: CC-BY-SA مع الإسناد
    لا تنتمي إلى StackOverflow
    scroll top