nhibernate ، كيف تقرأ البيانات الوصفية الناتجة عن اسمها؟

StackOverflow https://stackoverflow.com/questions/3195195

  •  02-10-2019
  •  | 
  •  

سؤال

لديّ محدد SQL-QUERY على ملف تعيين NHIBERNATE الخاص بي ، والذي يستدعي إجراءً مخزنًا لتحديد بعض السجلات.

 <sql-query name="sp_MYSP">
     exec MYDBSP :param1, :param2, :param3
 </sql-query>

على الرمز ، أدعو الاستعلام المسماة بهذه الطريقة:

  IQuery myQuery= Session.GetNamedQuery("sp_MYSP");
  myQuery.SetString("param1", p1);
  myQuery.SetString("param2", p2);
  myQuery.SetString("param3", p3);

للحصول على نتائج أستخدمها "قائمة"

   myQuery.List();

ولكن وبهذه الطريقة ، تقوم بإرجاع قائمة الكائنات دون أي معلومات التعريف ... مثل Columname. أود أن أقرأ النتيجة مثل DataTable للحصول على قيمة خاصية محددة ... كيف يمكنني أن أفعل؟

لا تمثل السجلات المحددة أي كيان من وسيط النطاق الخاص بي ، ولكن فقط مجموعة من استخدام البيانات لعملية محددة.

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

المحلول 2

أنت على حق.

ومع ذلك ، وجدت حلًا آخر من هذه المقالة نشر على CodeProjet: http://www.codeproject.com/kb/tips/execute_sql_nhibernate.aspx

مناسب لسيناريو.

نصائح أخرى

إذا لم تكن ترسم هذا الاستعلام إلى كيان وتتوقع dataTable ، فلماذا تستخدم nhibernate على الإطلاق؟

لا يزال بإمكانك الحصول على اتصال من Nhibernate إذا كنت تستخدمه بالفعل لبقية بياناتك (Session.connection) وإنشاء أمر ado.net الخام من هناك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top