संग्रहीत प्रक्रिया मूल्य के साथ एक स्तंभ देता है जो बीआईटी में परिवर्तित किए बिना 0 या 1 हो। मेरी POCO में, अगर मैं के रूप मेंईएफ 4.x में 0/1 को गलत/सही में बदलने के साथ निपटने का सबसे आसान तरीका क्या है?
public bool MyColumn {get; set;}
मैं इस त्रुटि हो रही है क्षेत्र घोषित:
The specified cast from a materialized 'System.Int32' type to the 'System.Boolean' type is not valid.
यह वास्तव में समझ में आता है के बाद से एफई एक पूर्णांक के रूप में दिए गए मान को पहचानता है।
मुझे आश्चर्य है कि प्रोसेस को छूए बिना दृश्य के पीछे मैपिंग में 0/1 को गलत/सही करने के लिए स्वचालित रूप से 0/1 को फ्लैंट एपीआई का उपयोग करने के लिए कोई आसान तरीका है?
अग्रिम धन्यवाद!
आप पहले से ही इस पर छुआ। रिटर्न वैल्यू को बीआईटी में कनवर्ट करें। –
बू सही है। यदि आपके पास कॉलम के रिटर्न प्रकार को बिट में बदलने के लिए संग्रहीत प्रक्रिया तक पहुंच नहीं है, तो आपको संपत्ति के प्रकार को 'int' में बदलना होगा, और उसके बाद समानता की जांच 0 – rossipedia
पर होनी चाहिए इसके लिए एक समान मुद्दा - संग्रहित प्रो की शुरुआत में मैंने टाइप बिट के कॉलम के साथ एक टेम्प तालिका को परिभाषित किया था। परिणाम लौटने पर, मैं temp तालिका से एक चयन को जोड़ रहा था, एक और क्वेरी के साथ जहां बिट कॉलम के लिए मान बस "0" पर सेट किया गया था। मुझे ऊपर की तरह एक ही त्रुटि मिल रही थी, और कास्ट (बिटकॉलम बिट के रूप में) का उपयोग कर इसे हल कर दिया - इसने त्रुटि को हल किया, और मुझे इसके आसपास काम करने के लिए कोड बदलने की आवश्यकता नहीं थी। – hitch