2012-04-28 7 views
5

प्राथमिक कुंजी स्तंभ ...LINQ एसक्यूएल के लिए ऑटो वेतन वृद्धि करने के लिए सेट tinyint के रूप में प्राथमिक कुंजी के साथ सम्मिलित त्रुटि संदेश प्रकार 'tinyint' के सर्वर द्वारा उत्पन्न नहीं किया जा सकता

यह एक से एक जवाब के अधिक है देता है सवाल क्योंकि मैं इसे ढेर पर खोज रहा हूं और सहायता के लिए कोई प्रश्न/उत्तर नहीं मिला।

असल में, मैं (नीचे) एक डालने

public void AddTask(Task task) 
{ 
    TwoDooDataContext db = new TwoDooDataContext(); 
    db.Tasks.InsertOnSubmit(task); 
    db.SubmitChanges(); 
} 

करने के लिए कोशिश कर रहा था और मेरी प्राथमिक कुंजी पहचान सच स्थापित किया गया था लेकिन डेटा प्रकार TINYINT स्थापित किया गया था ... वर्ग

ColumnAttribute(Storage="_ID", AutoSync=AutoSync.OnInsert, 
DbType="TinyInt NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)] 
नीचे गुण देखना

ऐसा त्रुटि संदेश के कारण होता है:

प्रकार 'tinyint' की प्राथमिक कुंजी स्तंभद्वारा उत्पन्न नहीं किया जा सकतासर्वर

तो मैं इस समझ नहीं सकता जब तक मैं इस लिंक कर सकते थे ... http://connect.microsoft.com/VisualStudio/feedback/details/402060/accessing-a-primary-key-id-when-its-declared-as-a-tinyint-using-linq

यह एक ज्ञात मुद्दा है, लेकिन तय नहीं - मैं एसक्यूएल 2008 एक्सप्रेस और वी.एस. वेब डेवलपर 2010 का उपयोग कर रहा हूँ व्यक्त करें।

मेरा फ़िक्स डेटा प्रकार को int में बदलने और सब कुछ काम करने के लिए था। उम्मीद है कि यह किसी और को हल करने में मदद करता है समाधान की तलाश में है।

और वास्तव में एक प्रश्न - मेरे मामले में उपयोग करने के लिए सबसे अच्छा डेटा प्रकार क्या है? क्या मुझे इसे इंट के रूप में रखना चाहिए या फिर भी इसे बदलना चाहिए? धन्यवाद

+0

कनेक्ट करने के लिए लिंक.microsoft.com मर चुका है। पृष्ठ नहीं मिला। –

उत्तर

2

डाटाबेस प्रशासक की when to use TINYINT over INT की अच्छी चर्चा है हालांकि मुझे नहीं लगता कि यह आपके मामले में लागू होता है। यदि किसी इंट का उपयोग करने से आपको ज्ञात समस्या मिल जाती है, तो आपको इसे बदलने के लिए बहुत अच्छे कारण की आवश्यकता होगी। मैं इसे छोड़ दूंगा।

+0

दिलचस्प पढ़ना, लिंक के लिए धन्यवाद ... और मैं इंट रख रहा हूं! – Jason

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