2013-08-20 13 views
7

मैं अपने प्रोजेक्ट में SQLite का उपयोग कर रहा हूं और डीबी से कनेक्ट करने के लिए मैं स्क्लाइट-नेट लाइब्रेरी का उपयोग करता हूं। - कुछ IsDefault है स्तंभ गलत पर, सच कुछ करने के लिए सेट मूल्यक्वेरी बूल कॉलम हमेशा झूठी

internal class Product 
{ 
    [PrimaryKey, AutoIncrement] 
    public int Id { get; set; } 

    public string Name { get; set; } 

... 

    public bool IsDefault { get; set; } 
} 

डेटाबेस में कुछ रिकॉर्ड कर रहे हैं: मैं एक मॉडल बनाया है। हालांकि, जब मैं इस तरह के रिकॉर्ड पूछने की कोशिश करता हूं:

var result = dc.Table<Product>().ToArray(); 

प्रत्येक रिकॉर्ड में IsDefault को झूठा सेट किया गया है। एक रिकॉर्ड डालने ठीक काम करता है, लेकिन यह पूछताछ नहीं करता है।

जब मैंने कॉलम प्रकार को बूल में बदल दिया? मॉडल में, यह शून्य वापस आता है।

संपादित ---- क्या अजीब है जब मैं क्वेरी निष्पादित

var t = dc.Table<Product>().Where(i => i.IsDefault == true).ToArray(); 

यह मेरे रिकॉर्ड की सही संख्या देता है, लेकिन फिर भी सरणी के हर आइटम गलत पर सेट IsDefault है।

+0

डीसी ऑब्जेक्ट प्रकार SQLiteConnection की है का उपयोग करने के लिए है। सारणी - यह ब्रैकेट में दिए गए प्रकार के लिए क्वेरी करने योग्य इंटरफ़ेस है (यह स्क्लाइट-नेट का हिस्सा है) – ksalk

+1

मैंने अभी स्क्लाइट-नेट लाइब्रेरी की जांच की है और यह पाया है कि यह क्या करता है, क्या आपने इसे पूर्णांक के रूप में उपयोग करने और इसे बूल करने का प्रयास किया है? स्रोत पर ऐसा लगता है कि बूल को कहीं भी परिभाषित नहीं किया गया है। – Prix

+0

हां, मैंने टाइप को int में बदलने की कोशिश की - इस मामले में यह हमेशा 0 लौटाता है। – ksalk

उत्तर

संबंधित मुद्दे