كيف يمكنني تعيين الحقل إلى DBNull في إطار الكيان

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

  •  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 الاتصال

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