C# executequery قيمة فارغة
-
22-09-2019 - |
سؤال
لدي بعض الكود:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", "19601023",
}
ومع ذلك ، أريد أيضًا أن أكون قادرًا على تمرير قيم فارغة إلى الإجراء المخزن حتى لا يستخدمها.
الآن مع الأوتار ، هذا أمر سهل ، يمكنني فقط تمرير سلسلة. Empty وسيعمل. ومع ذلك ، إذا كنت أرغب في تمرير تواريخ فارغة ، فهذه مشكلة.
من الواضح أنني حاولت:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", null,
}
لكن هذا لا يعمل ، يعطي الخطأ:
System.Exception: لا يمكن أن يكون QueryParameter من النوع. object.
بعد القراءة ، اكتشفت أن التنفيذي لا يدعم المعلمات الفارغة بينما يؤكد المواصفات أنه ينبغي.
هل واجه أي شخص هذه القضية ووجد حلًا؟
اشكرك كثيرا
المحلول
هل جربت:
DBNull.Value
نصائح أخرى
هل حاولت الإرسال DBNull.Value
أو جديد Nullable<DateTime>()
?
لا تنتمي إلى StackOverflow