2012-08-27 12 views
8

मेरे पास मेरे मुख्य नामों (इंडेक्स, प्राथमिक कुंजी और विदेशी कुंजी) में [।] (अवधि) नहीं हो सकता है जब वे एड-माइग्रेशन द्वारा उत्पन्न होते हैं, इसलिए मैंने एक लिखने की कोशिश की CSharpMigrationCodeGenerator, लेकिन दुर्भाग्य से यह आपको विदेशी कुंजी या अनुक्रमणिका नाम बदलने की अनुमति नहीं देता है। प्राथमिक कुंजी नाम बनाने तालिका अधिभावी के हिस्से के रूप में सेट किया जा सकता है:एंटिटी फ्रेमवर्क 5 कोड के साथ कुंजी नामकरण

protected override void Generate(
    CreateTableOperation createTableOperation, IndentedTextWriter writer) 
    { 
     createTableOperation.PrimaryKey.Name = "USE THIS NAME"; 
     base.Generate(createTableOperation, writer); 
    } 

लेकिन क्या मैं वास्तव में जरूरत है सुनिश्चित करने के लिए कि यह सिर्फ पूर्ण विराम हटा दिया गया है (जो कस्टम नाम जनरेटर अधिभावी का तात्पर्य है) एक तरीका है - लेकिन मैं नहीं देख सकता कि यह कैसे करें।

+4

आप उपयोग करने की कोशिश है जैसा कि यहां चर्चा की गई कॉलम नाम विशेषता: http://stackoverflow.com/questions/5082991/influencing-foreign-key-column-naming-in-ef-code-first-ctp5 –

+2

यदि आप डेटाबेस पर विस्तृत नियंत्रण चाहते हैं। पहले डाटाबेस पहले एक बेहतर समाधान हो सकता है। –

उत्तर

0

क्या आपने power tools के साथ पहले कोड को पूर्ववत करने की कोशिश नहीं की है?

न केवल डेटाबेस से आपके लिए कोड प्रथम कक्षाएं उत्पन्न करेगा, आप अद्वितीय परिदृश्यों को संभालने के लिए अपनी ऑब्जेक्ट जेनरेट करने के लिए टी 4 टेम्पलेट्स को भी अनुकूलित कर सकते हैं (उदाहरण के लिए आरक्षित पात्रों को संभालने के लिए कस्टम नामकरण तर्क)। मेरे entity.tt प्रत्येक उत्पन्न वस्तु ऊपर निम्नलिखित हैं: -

[MetadataType(typeof(<#= efHost.EntityType.Name #>_Validation))] 

इसका मतलब यह है मैं अपने सभी डेटा सत्यापन एक अलग वर्ग है कि मेरी वस्तुओं की फिर से निर्माण पर ओवरराइड नहीं है में बंद खेती कर सकते हैं।

+0

धन्यवाद - यह समस्या अब मौजूद नहीं है और उस समय काफी विशिष्ट थी। चीजें पिछले साल टूलिंग के साथ चली गई हैं और इसलिए अब वास्तव में प्रासंगिक नहीं है। –

0

यह समस्या अब मौजूद नहीं है और उस समय काफी विशिष्ट थी। चीजें पिछले साल टूलिंग के साथ चली गई हैं और इसलिए अब वास्तव में प्रासंगिक नहीं है क्योंकि आपको इस तरह से इस मुद्दे को हल करने की आवश्यकता नहीं है।

पढ़ने और

0

टिप्पणी इकाई की रूपरेखा कोड प्रथम प्रवास के द्वारा आप विदेशी कुंजी या सूचकांक नाम बदल सकते हैं के लिए बहुत धन्यवाद, तुम यहाँ उदाहरण में देख सकते हैं: http://msdn.microsoft.com/en-us/data/jj591621.aspx http://www.dotnetcurry.com/showarticle.aspx?ID=889

संबंधित मुद्दे