विफल रहता है मैं ईएफ 4.3.1 कोड प्रथम माइग्रेशन का उपयोग कर रहा हूं। मेरे पास एक सारणी है:ईएफ माइग्रेशन: 2 कॉलम पीके से एकल कॉलम तक तालिका ले जाएं डीआरओपी से पहले और
public class Product
{
[Key]
[Column(Order=0)]
[MaxLength(100)]
public string Store { get; set; }
[Key]
[Column(Order=1)]
[MaxLength(100)]
public string Sku { get; set; }
}
मेरे पास उपरोक्त कोड के साथ बनाई गई एक मौजूदा तालिका है।
public class Product
{
[MaxLength(100)]
public string Store { get; set; }
[Key]
[MaxLength(100)]
public string Sku { get; set; }
}
इस कारण एफई अगले स्वचालित माइग्रेशन में विफल, शिकायत: मैं तो एक एकल-स्तंभ प्राथमिक कुंजी में स्थानांतरित कर दिया
ALTER तालिका [उत्पाद] परिवर्तन स्तंभ [स्टोर] nvarchar
ऑब्जेक्ट 'पीके_Product' कॉलम 'स्टोर' पर निर्भर है। ALTER तालिका ALTER COLUMN स्टोर विफल रहा क्योंकि एक या अधिक ऑब्जेक्ट्स इस कॉलम तक पहुंचते हैं।
जाहिर PK_Product इस ALTER बयान आग प्रयास करने से पहले गिरा दिया करने की आवश्यकता है (कारण है कि यह बिल्कुल स्तंभ फेरबदल कर रहा है?), लेकिन इसके बजाय प्रवास विफल रहता है।
क्या मैं कुछ गलत कर रहा हूं या यह एक बग है? समाधान?
एड-माइग्रेशन उपरोक्त आदेशों (और अधिक) को पूर्वनिर्धारित करता है। यह पता चला कि वे आसानी से आदेश से बाहर थे - ड्रॉपप्रिमरीकी को ले जाकर जैसा कि आप कॉलम परिवर्तन से पहले यहां ऊपर हैं, इसे हल किया गया था। तो अंतिम प्रवास को स्पष्ट करने के लिए DropPrimaryKey, AlterColumn, AddPrimaryKey चला गया। मुझे लगता है कि यह एक अंतर्निहित सीमा के बजाय, समाधान की सादगी दी गई माइग्रेशन में एक बग है। –
यूप, इसलिए मेरा ** बोल्ड ** "बाद" में :-) –