मुझे विकास के दौरान डेटाबेस समाधान के रूप में SQLite का उपयोग करने की संभावना के बारे में मनोनीत किया गया था ताकि मैं एनएचबीर्नेट की शेमाएक्सपोर्ट कार्यक्षमता का उपयोग करके रनटाइम पर डीबी उत्पन्न करने और गतिशील रूप से डीबी उत्पन्न करने पर ध्यान केंद्रित कर सकूं। हालांकि, मैं कुछ मुद्दों में भाग रहा हूं, जिनमें से कम से कम ऐसा नहीं लगता है कि SQLite मुझे मेरी प्राथमिक कुंजी (बनाम, कहें, Int32 या Guid) के लिए Int64 का उपयोग करने की आवश्यकता है। क्या इसके आसपास कोई रास्ता है?क्या मैं SQLite में प्राथमिक कुंजी डेटा प्रकार के रूप में BIGINT के अलावा कुछ भी उपयोग कर सकता हूं?
नोट: मुझे यह निर्दिष्ट करना चाहिए कि यह एनएचबीरनेट का उपयोग करके ऐप के संदर्भ में है। यह सख्ती से इस मामले को नहीं बोल रहा है कि कोई एक आईएनटी डेटाटाइप के साथ SQLite में कोई टेबल नहीं बना सकता है, लेकिन डेटा को सहेजने और पुनर्प्राप्त करने पर व्यवहार यह इंगित करता है कि इसे इंट 64 के रूप में संग्रहीत और/या पुनर्प्राप्त किया जा रहा है।
इस पर लूप को बंद करने के लिए, मैंने इसे स्वीकृत उत्तर के रूप में चिह्नित किया है क्योंकि यह पोस्ट के शीर्षक को संबोधित करता है। अब जब मैं और जानता हूं, तो मैं गलत सवाल पूछ रहा था। मुद्दा यह है कि, जब आप SQLite में एक INT डेटाटाइप का उपयोग करते हैं और आप उसे कोड (सी #, वैसे भी) में पुनर्प्राप्त करते हैं, तो यह Int64 के रूप में वापस आता है, इसलिए आपकी गुणों को अमान्यकास्ट अपवाद से बचने के लिए लंबे समय तक घोषित किया जाना चाहिए (या, मुझे लगता है , यदि आप NHIbernate या किसी अन्य ORM का उपयोग कर रहे हैं और स्पष्ट रूप से कास्ट करते हैं तो ऑब्जेक्ट पुनर्प्राप्ति को रोकने के लिए अतिरिक्त कार्य कर सकते हैं)। – sydneyos