2017-03-18 7 views
5

हाय मैंने इकाई फ्रेमवर्क के शीर्ष पर डेटा सिंक प्रोजेक्ट बनाया है। ढांचा कुछ हद तक स्कीमा स्वतंत्र है। मैं स्कीमा में बदलावों के लिए इसे और अधिक सहिष्णु बनाना चाहता हूं, यहां तक ​​कि वर्तमान में माना जाने वाला परिवर्तन भी।

इस मैं होगा प्राप्त करने के लिए EF प्रवास इंजन के अंदर पाने के लिए और इस तरह
इकाई फ्रेमवर्क माइग्रेशन एपीआई

add-transformation 


जो परिवर्तन का पता लगाने की जाएगी और एक परिवर्तन बनाने के लिए एक कमांड उत्पन्न करने के लिए होगा।

मैंने ef 6 के स्रोत कोड में देखा है लेकिन शुरू करने के लिए उपयुक्त स्थान नहीं मिला। किसी भी मदद की सराहना की जाएगी।

संपादित करें 1: - टिप्पणी

  1. कोड प्रथम कार्य में प्राप्त प्रश्नों के उत्तर
  2. सीमा: डेटा में
    परिवर्तन प्रवास इसलिए कोई परिवर्तनों को शामिल करने की जरूरत द्वारा नियंत्रित किया जाएगा । मुझे add-transformation जैसे कमांड को निष्पादित करने का एक तरीका है जो एक नए माइग्रेशन की तरह एक नया परिवर्तन तैयार करेगा। तो आम तौर पर कहता है कि मेरे पास

    कक्षा ए { सार्वजनिक int {{get; सेट;} सार्वजनिक int b {get; सेट;} }

तो मैं संरचना करने के लिए वर्ग बदलने

class A 
{ 
public int a {get; set;} 
public int b {get; set;} 
public int c {get; set;} 
} 

और फिर मैं चलाने add-tranformation ClassChangesA
कोड मैं की आवश्यकता होती है

1. परिवर्तन
2 का पता लगाने चाहिए। प्रवासन वर्ग की तरह एक वर्ग उत्पन्न करें। पूर्व।

class Transformation_112334_ClassChangesA 
{ 
public A Up(OldA model){ 
    //Property C added 
} 
public OldA Down(A model){ 
    //Property C removed 
} 
} 
+0

पहले कोड होने के लिए अपना दृष्टिकोण मानते हुए, मैं आपको एमएसडीएन लेख https://msdn.microsoft.com/en-us/library/jj591621(v=vs.113).aspx – pravs

+0

पहला प्रश्न पूछने की सलाह दूंगा कोड पहले या डीबी पहला दृष्टिकोण? दूसरा सवाल, "सीमा" के बारे में आपके डेटा सिंक ऐप को क्या करना चाहिए? ए। परिवर्तनों को अनदेखा करें (फ़ील्ड जोड़ें? टेबल जोड़ें?) या बी। नए बदलावों (फ़ील्ड या क्या?) में निहित डेटा को दोहराएं? तीसरा सवाल, क्या आप किसी भी "हद तक" डेटाबेस के बाद अपने सिंक ऐप को पुन: संकलित कर सकते हैं? – bubi

+0

@ बुबी - मैंने जवाब संपादित करके आपके प्रश्न का उत्तर दिया है। कृपया इसे देख लें। –

उत्तर

1

मुझे विश्वास है कि आदेश आप देख रहे हैं जोड़ने प्रवास migration_name है तो आप आदेश अद्यतन-डेटाबेस का उपयोग कर अपने डेटाबेस को अद्यतन कर सकते हैं, यह कैसे इकाई में कोड पहले माइग्रेशन के साथ काम करने के लिए है ढांचा।

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