سؤال

لدي SP وأريد الاتصال به من linq.يحتوي SP على 5 معلمات ولكني أريد فقط تمرير/أحتاج إلى 2 منهم.

كيف يمكنني الاتصال بـ SP لأنه عندما أذهب لإضافة المعلمات في الكود، فلن يتم إنشاؤها كما تريد كل 5.

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

المحلول

وأنت تريد الحصول على شيء من هذا القبيل:

MyDbDataContext db = new MyDbDataContext();

db.MyStoredProc(customerID, "sometext", null, null, null);

والنجاح / الفشل سيعتمد على البيانات SQL داخل sproc تعاملك مع القيم الخالية على تلك المعايير ال 3 الماضية.

نصائح أخرى

وثمة خيار آخر هو لسحب بروك المخزنة في DBML الخاص بك للمرة الثانية وحذف المعلمات التي لا تريد أن تمر فيها.

الزائد نداء سبروك.

ليس أمامي ولكنك ستنتقل إلى ملف DataAccessName.cs الخاص بك وتقوم بإنشاء اسم طريقة بنفس التوقيع

توقيع طريقة الإنشاء التلقائي:

void sp_sproc(int a, int b, int c, int d, int e);

يمكنك إجراء ذلك في ملف DataAccessName.cs الخاص بك

void sp_sproc(int a, int b)
{
    this.sp_sproc(a,b,0,0,0);
}

إذا كانت المعلمات لاغية، مثل ذلك

void sp_sproc(int? a, int? b, int? c, int? d, int? e);

ثم يمكنك أن تفعل

void sp_sproc(int a, int b)
{
    this.sp_sproc(a,b,null,null,null);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top