2012-01-12 14 views
5

की साफ-सुथरी रूपांतरण मैं मिनी प्रोफाइलर के लिए अपने खुद के DatabaseStorageBase लिखने के लिए प्रयास कर रहा हूँ, और मैं अपनेTINYINT

private List<T> LoadFor<T>(DbConnection conn, object idParameter) 

विधि में मुद्दों में चल रहा हूँ। साफ-सुथरी

Error parsing column 5 (level=0 - SByte) 

मैं tinyint(4) के रूप में स्तर के भंडारण कर रहा हूँ के साथ मुझे चिल्ला रहता है, तो मैं व्यवसायिक क्या एक Enum (ProfileLevel) की तरह दिखता है के लिए छोटे इंट से रूपांतरण नहीं कर सकते हैं यह सोचते हैं रहा हूँ? क्या कोई सुझाव दे सकता है कि मुझे mysql में स्तर को कैसे स्टोर करना चाहिए ताकि मैं अपनी रूपांतरण समस्याओं को हल कर सकूं?

+0

आपको आधार से वंचित करने की आवश्यकता नहीं है, आप बस स्टोरेज इंटरफ़ेस –

+0

को कार्यान्वित कर सकते हैं मैंने स्टोरेज इंटरफ़ेस को कार्यान्वित करने का प्रयास किया है, लेकिन सहेजें विधि अभी भी मुझे स्तर को बचाने के लिए चाहता है। एक पूर्णांक मूल्य से enum उत्पादन करने के लिए dapper पाने का कोई तरीका है? यदि ऐसा नहीं लगता है तो मुझे इसे हाथ से मानचित्र करना होगा। – JesseBuesking

+0

@ सैमसाफ्रॉन मैं आपको अपनी टिप्पणी में टैग करना भूल गया ... मेरा बुरा। – JesseBuesking

उत्तर

2

वाह। क्या एक अच्छा निवासी, मैं miniprofiler के लिए अपने mysqlstorage भी लागू कर रहा हूँ और आप के साथ समान त्रुटि मिलती है।

miniprofiler इस संपत्ति रिटर्न अमान्य डाली जो पता चला है कि यह Sbyte बजाय लौट बाइट के लिए tinyint डेटाप्रकार का उपयोग कर MiniProfiler.Level और SqlTiming.ExecuteType के लिए बाइट के रूप में enum उपयोग करता है। mysql यह जहां sqlserver के रूप में के रूप में यहाँ का उल्लेख नहीं है tinyint का हस्ताक्षर किए मूल्य की वापसी की अनुमति के रूप में देने के इस व्यवहार डिफ़ॉल्ट व्यवहार:

http://forums.mysql.com/read.php?38,5524,5581#msg-5581

http://social.msdn.microsoft.com/Forums/br/adonetefx/thread/8b0949ba-03e8-4637-baa1-d2b4ff0771f0

इसलिए, संकल्प बस द्वारा स्तर के tinyint क्षेत्र में परिवर्तन किया गया है और निष्पादित टिनिंट में निष्पादित टाइप सही मूल्य (बाइट को कास्ट) वापस कर देगा। अब मेरे mysqlstorage उम्मीद के रूप में काम कर रहा है .. उम्मीद है कि सैम को पुल अनुरोध पूछ सकता है :)

+0

मैं इसे इस पर आज़माउंगा सप्ताहांत और क्या होता है इसके साथ वापस पोस्ट करें, लेकिन ऐसा लगता है कि यह संभवतः मेरी समस्या का समाधान हो सकता है: डी – JesseBuesking