के लिए समर्थन करता है, मैंने अभी एक प्रतिभा के बारे में सीखा है जो मेरे बहुत सारे काम को सरल बना देगा लेकिन ऐसा लगता है कि मेरी पसंदीदा ओआरएम इसे पहचान नहीं पाती है।SQL सर्वर विशिष्ट प्रकार OrmLite
क्या सर्विसस्टैक OrmLite को SQL सर्वर में HierarchyId
पहचानने के लिए कोई कामकाज है? किसी भी सुझाव के बारे में कि कौन से फाइलों को संशोधित करना है और कोई संकेत कैसे आगे बढ़ना है?
संपादित करें:
यहाँ समस्या का एक बेहतर उदाहरण है। मेरे पास निम्न वर्ग है:
public class MyClass
{
public int Id { get; set; }
public SqlHierarchyId HierarchyId { get; set; }
}
SqlHierarchyId एक कस्टम SQL सर्वर डेटा प्रकार है। OrmLite इसके लिए निम्नलिखित वर्ग उत्पन्न करेगा:
अजीब पर्याप्त, मैं संपत्ति पर [StringLength(255)]
विशेषता का उपयोग कर सकते हैं और यह बजाय varchar(255)
प्रकार मिल जाएगा:
मैं मैन्युअल तालिका को यहां बदल दिया और अंतर दिखाने के लिए कॉलम डेटा प्रकार जोड़ा। कृपया ध्यान दें तीसरे स्तंभ के डेटा प्रकार:
एक varchar
प्रतिनिधित्व होने it can be converted within C# के रूप में अन्य डीबीएमएस के साथ पूरी तरह ठीक है, लेकिन SQL सर्वर के साथ यह संबंधित डेटा प्रकार से मेल करने के लिए बेहतर है। इससे विचारों का निर्माण आसान हो जाएगा (hierarchyid
डेटा प्रकार के अंतर्निहित कार्यों के कारण)।
मुझे पता है कि प्रकार ईएफ 4 (5 के बारे में सुनिश्चित नहीं है) द्वारा समर्थित नहीं है। मैंने गिटहब पर OrmLiteDialectProviderBase.cs फ़ाइल भी ब्राउज़ की और मैं समर्थित ADO.NET डेटा प्रकारों की एक सूची देख सकता हूं।
मेरा सरल सवाल यह है: क्या यह एडीओ.NET द्वारा एक मजबूत सीमा है या इसे ओर्मेलाइट में कभी देखा जा सकता है? यदि कोई सुझाव दिया जाता है तो मैं इस भाग को विस्तारित करने में मदद करने के लिए तैयार हूं।
क्या आप किसी ऐसे एसक्यूएल + कोड-उदाहरण को दिखा सकते हैं जिसे आप OrmLite को समर्थन देना चाहते हैं? – mythz
यह सुनिश्चित नहीं है कि OrmLite क्या करता है, लेकिन ऐसा लगता है कि इसे एक स्ट्रिंग प्रकार से मेल खाना चाहिए, क्योंकि इसमें डेटा '/ 123/234/125' है। – RedFilter
@mythz: कृपया संपादित प्रश्न –