2009-07-24 12 views
5

This question के साथ काम करना इस बात पर प्रकाश डाला गया है कि आप इकाई फ्रेम के साथ सर्वर पक्ष उत्पन्न GUID का उपयोग नहीं कर सकते हैं। लेकिन, मैं चाहता हूं कि GUID की पीढ़ी डाटाबेस एपीआई के डीएएल स्तर पर संभाली जाए (यानी, जब किसी इकाई के कन्स्ट्रक्टर को कॉल किया जाता है, तो मैं चाहता हूं कि इकाई की आईडी को नए GUID में प्रारंभ किया जाए)। मेरी योजना कोड फ़ाइलों का एक गुच्छा उत्पन्न करने के लिए एक छोटा सा टूल लिखना है जो संस्थाओं के आंशिक वर्ग हैं। मेरे पास ऐसा करने का एक तरीका है, सवाल यह है: क्या मैं इस तरह से ऐसा करने के लिए अपने दिमाग से बाहर हूं या इस तरह से मुझे यह करना चाहिए?GUIDs और Entity Framework

मेरी समस्या यह है कि जब edmx फ़ाइल अद्यतन हो, मैं कोड फ़ाइलों का एक समूह भी संपादित नहीं करना चाहता, मैं सिर्फ एक उपकरण चलाने के लिए चाहता हूं जो आवश्यक है।

फिर, क्या मेरा सिर सीधे है?

उत्तर

6

ठीक है अगर आप आंशिक कक्षाओं को देखते हैं तो इकाई फ्रेमवर्क डिफ़ॉल्ट रूप से उत्पन्न होता है, तो कोई डिफ़ॉल्ट कन्स्ट्रक्टर नहीं होता है।

तो एक अलग आंशिक वर्ग में यह कर अच्छी तरह से काम करेगा:

public partial class Customer{ 
    public Customer(){ 
     _ID = Guid.NewGuid(); 
    } 
} 

तो वहाँ शायद की तरह आप की योजना बना रहे कुछ करने के लिए नहीं कोई कारण नहीं है।

हालांकि आप ऐसा करने के लिए टी 4 टेम्पलेट्स देखना चाहते हैं। इस तरह ईएफ 4.0 (यानी .NET 4.0 में ईएफ) आपको जेनरेट कोड को कस्टमाइज़ करने की अनुमति देता है। अब 4.0 में यह अनुभव काफी बेकार है, आप आसानी से इस आंशिक कक्षाओं को बनाने के लिए टी 4 के आधार पर कुछ एक साथ रख सकते हैं जो .NET 3.5 SP1 में ठीक काम करेगा।

आशा इस

एलेक्स

+0

बहुत उपयोगी सुझाव मदद करता है। मैं शायद इस परियोजना पर टी 4 टेम्पलेट का उपयोग नहीं करूंगा, लेकिन अन्य परियोजनाओं के बारे में जानना बहुत उपयोगी होगा। –

+0

यह मेरे लिए काम करता है जब newid() के सर्वरसाइड डिफ़ॉल्ट मान नहीं था। धन्यवाद! – el2iot2

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