كيف يمكنني تعيين الحقل إلى DBNull في إطار الكيان
-
03-07-2019 - |
سؤال
كيف يمكنك تعيين حقل إلى DBNull في كيان الإطار ؟ الحقول مكتوب بشدة بحيث لا يمكن تعيين يساوي DBNull.قيمة لم أجد أي طريقة تعيين الحقل إلى DBNull.يبدو أن هذا هو شيء ضروري القيام به ، ولكن بعد الكثير من البحث جوجل وجدت شيئا حيال ذلك.
أنا أحاول أن تعيين حقل التاريخ والوقت في إطار الكيان باستخدام vb.net.وهذا يتطلب مني أن أكتب
myEntity.mydate = Nothing
هذا لا يتم تعيين الحقل إلى قيمة خالية ولكن بدلا من ذلك تعيين إلى الافتراضي قيمة التاريخ وهي ليست صالحة قيمة التاريخ في SQL Server.
المحلول
وإذا كان العمود قيم الفارغة في قاعدة البيانات فإن الطبقة نتيجة لها خاصية قيم الفارغة للغاية.
وعلى سبيل المثال إذا كان الجدول Order
يحتوي على عمود Datetime
قيم الفارغة دعا CreatedDate
، ثم ينتج عن ذلك من إرادة الطبقة Order
يبدو شيئا من هذا القبيل:
public partial class Order: EntityObject
{
...
private DateTime? _createdDate;
...
}
وإذا كان _createdDate
لا قيمة له عند استدعاء ObjectContext.SaveChanges()
سيتم تلقائيا إرسال System.DBNull
إلى قاعدة البيانات كجزء من إدراج أو تحديث الأوامر.
وآمل أن يساعد هذا أليكس
نصائح أخرى
وتعيين قيمة الحقل إلى null
. سوف إطار الكيان ترجمة هذا إلى System.DBNull
.
أنا لم تستخدم قط الكيان إطار لكن يمكن تحويل المتغير إلى nullable النوع ؟
شيء مثل
dim entityVar as nullable(of date)
ثم يمكنك أن تفعل =لا شيء وسوف تبقى لا شيء.
ولكن كما قلت لم تستخدم الكيان إطار
في حين تبحث على جوجل وجدت هذا تقرير الشوائب على Microsoft الاتصال