استخدام Dapper مع إجراءات Oracle المخزنة التي تُرجع المؤشرات

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

  •  29-10-2019
  •  | 
  •  

سؤال

كيف يمكن للمرء أن يذهب نحو استخدام أنيق مع إجراءات أوراكل المخزنة التي ترجع المؤشرات؟

var p = new DynamicParameters();
p.Add("foo", "bar");
p.Add("baz_cursor", dbType: DbType.? , direction: ParameterDirection.Output);

هنا، DbType هو System.Data.DbType الذي لا يحتوي على عضو المؤشر.لقد حاولت استخدام DbType.Object ولكن ذلك لا يعمل مع كل من OracleClient وOracleDataAcess.

ما هي الطريقة الممكنة لاستخدام OracleType أو OracleDbType بدلاً من ذلك؟

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

المحلول

سيكون عليك تنفيذ:

 public interface IDynamicParameters
 {
    void AddParameters(IDbCommand command, Identity identity);
 }

ثم في AddParameters رد الاتصال الذي ستلقي به IDbCommand إلى OracleCommand وأضف معلمات قاعدة البيانات المحددة.

نصائح أخرى

شكرا على الحل هنا.لقد حققت نفس الشيء باستخدام كود أقل قليلاً باستخدام مصمم ديناميكي بسيط: Genacodicetagpre

أضف هذا الفصل إلى مشروعك

ويجب أن يكون الرمز الخاص بك كما يلي: - Genacodicetagpre

فقط لتوضيح اقتراح Sams ، هذا ما توصلت إليه.لاحظ أن هذا الرمز هش وهو الآن مخصص لشركة Oracle فقط.

تعديل Dapper 1.7

Genacodicetagpre

اختبار الرمز Genacodicetagpre

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