ऐसा लगता है कि एक डेटाबेस में एक शब्दकोश को बनाए रखने के लिए सामान्यीकृत, सही तरीका यह है कि यह समेकित है, क्योंकि टेबल अनिवार्य रूप से आदेश की ढीली अवधारणा के साथ सेट करता है - बस आईनेमेरेबल की तरह। यही कारण है, एक शब्दकोश IEnumerator < KeyValuePair < TKey, TValue>> के रूप में प्रगणित है, और इसलिए तालिका 2 कॉलम होना चाहिए:
Key
Value
आप परिसर के प्रकार, की मौजूदा एफई सम्मेलनों है जहां कुंजी हो सकता है वास्तव में वहां से कई गुणों और मूल्य के साथ एक वस्तु हो। उदाहरण के लिए उपयोगकर्ता वस्तुओं की एक शब्दकोश की तरह लग सकता है:
Username (TKey)
Address1 (TValue)
Address2 (TValue)
यह दुर्भाग्यपूर्ण यह सामान्यीकृत पैटर्न एफई के लिए निर्मित नहीं है; इसे प्रस्तावित किया जाना चाहिए।
इसके बजाय अपने समाधान के लिए एक विशेष प्रकार के विकास के लिए, आप एक सामान्यीकृत वर्ग कि KeyValuePair < के एक डेटा एनोटेट संस्करण> पैदा करता है इस्तेमाल कर सकते हैं।
public class EFKeyValuePair<TKey, TValue>
{
[Key]
public TKey Key { get; set; }
public TValue Value { get; set; }
}
मुझे विश्वास है आप कैसे सुनिश्चित होगी तालिका नामों हालांकि इस वर्ग इनहेरिट और प्रत्येक उपवर्ग के लिए एक विशेषता जोड़े बिना एक तार्किक और निरीक्षण तरीके से लिखा जाएगा नहीं कर रहा हूँ। शायद फ्लुएंट एपीआई आपको यह अंतिम कदम प्राप्त कर सकता है (जिसे मैं बहुत परिचित नहीं हूं)।
स्रोत
2011-10-17 20:36:00