मुझे Oracle और EF6 के साथ काम करने में एक ही समस्या आई। ऐसा प्रतीत होता है कि Oracle प्रदाता इसका समर्थन नहीं करता है। हालाँकि, यदि आपको पहले से कोई समाधान नहीं मिला है, तो इसके लिए वैकल्पिक समाधान मौजूद है।
आपको सबसे पहले अपने मॉडल (या फ़्लुएंट एपीआई, जहां भी आप इसे संभाल रहे हैं) में क्वांटिटी चेंजेड प्रॉपर्टी को शून्य के रूप में सेट करने की आवश्यकता है। फिर आप ऐड-माइग्रेशन कमांड चला सकते हैं जो 'अप' मेथड में 'AddColumn' मेथड के साथ एक माइग्रेशन फाइल जेनरेट करेगा। उसके बाद, सभी मानों को आवश्यक डिफ़ॉल्ट मान पर अपडेट करने के लिए एक स्पष्ट SQL कमांड जोड़ें। यदि आपको कॉलम को आगे बढ़ने के लिए NULL होने की आवश्यकता है, तो आपको कॉलम को संशोधित करने और इसे NOT NULL पर सेट करने के लिए एक और SQL कमांड की आवश्यकता होगी।
public override void Up()
{
AddColumn("MTA.PLAN_SHEETS", "QUANTITY_CHANGED", c => c.Decimal(precision: 3, scale: 0));
Sql("UPDATE MTA.PLAN_SHEETS SET QUANTITY_CHANGED = 1");
Sql("ALTER TABLE MTA.PLAN_SHEETS MODIFY QUANTITY_CHANGED NOT NULL");
}
आशा है कि ये आपकी मदद करेगा। यदि आवश्यक हो तो मेरे प्रश्न का संदर्भ लें:मैं EF6 माइग्रेशन का उपयोग करके एक नए कॉलम के लिए डिफ़ॉल्ट मान कैसे सेट करूं?