2008-12-11 14 views
5

मैंने अभी linq का उपयोग एसक्यूएल में करना शुरू कर दिया है और ऑटो वृद्धिशील फ़ील्ड के साथ रिकॉर्ड डालने में समस्या में भाग लिया है।पहचान वृद्धि क्षेत्र के साथ लिंक से एसक्यूएल त्रुटि

मैंने linq द्वारा परिभाषित कंपनी ऑब्जेक्ट का एक नया उदाहरण बनाया है। इसने ऑटो वृद्धिशील फ़ील्ड 'companyID' को 0 InsertOnSubmit() में निम्न अवैधऑपरेशन अपवाद के साथ विफल कर दिया है।

सदस्य के लिए गलत स्वत: समन्वयन विनिर्देश स्तंभ विशेषता IsDbGenerated companyID संपत्ति के लिए सच है 'companyID'

। मैं एसक्यूएल सर्वर 2000 का उपयोग कर रहा हूं।

संपादित करें: ऑटो-सिंक ऑनआईर्ट पर सेट है। डेटाटेप टीएसक्यूएल में बिगइन्ट है, सी # में लंबा है।

क्या किसी को पता है कि यह त्रुटि क्यों हो रही है और इसे कैसे हल किया जा सकता है?

धन्यवाद

उत्तर

9

उत्तर मिला। यह प्राथमिक कुंजी के साथ करना था। लिनक्स डिजाइनर में प्राथमिक कुंजी सेट की गई थीं। डेटाबेस में प्रासंगिक फ़ील्ड प्राथमिक कुंजी के रूप में सेट नहीं किए गए थे। मैंने डेटाबेस में चाबियाँ तय कीं और इसने समस्या को हल किया।

+1

ऐसा लगता है जैसे आपने मैन्युअल रूप से L2S फ़ाइल संपादित की है। मैं हमेशा फ़ाइल को स्वचालित रूप से आपके डेटाबेस से जेनरेट करने की अनुशंसा करता हूं (एसक्यूएल धातु या डिजाइनर का उपयोग करके)। जैसा कि आप यहां देखते हैं, इसे संपादित करने से असंगतताएं उत्पन्न होती हैं। – jeremcc

1

उस वर्ग/मेज पर 'ऑटो सिंक' संपत्ति का मूल्य क्या है?

मैंने अभी अपनी तरफ से जांच की है, और यह 'ऑनइन्सर्ट' पर सेट है। इसके अलावा 'ऑटो जेनरेटेड वैल्यू' सत्य पर सेट है।

3

डेटा-प्रकार क्या है? int? (दोनों टीएसक्यूएल और सी # में int?)

आपके पास ऑटो-सिंक सेटिंग क्या है? प्राथमिक कुंजी के लिए, यह "ऑनइन्सर्ट" होना चाहिए

2

वही समस्या। डीबी में प्राथमिक कुंजी स्थापना और dbml पर "OnInsert" को स्वत: समन्वयन संपत्ति को बदलने

1

मदद की डालने विकल्प पर सेट कर दिया जाता है जब आप डेटाबेस में मान डालने कर रहे हैं। यदि आपके पास डेटा बेस के साथ सुरक्षा विकल्प के साथ कोई समस्या नहीं है तो हमेशा डेटा बेस में कभी भी विकल्प का उपयोग न करें।

0

यदि यह संभव है, तो अपना डेटाबेस छोड़ें और फिर से बनाएं। मेरा मामला तब था जब मैं टेबल पर प्राथमिक कुंजी जोड़ना भूल जाता था। फिर डेटाबेस डालने के बाद मुझे प्राथमिक कुंजी गुम होने के बारे में उत्कृष्टता मिली। मैंने मैन्युअल रूप से डीबीएमएल डिजाइनर में आवेदन किया, लेकिन पहले आईडी को पहले ही लिया गया था जिससे 'गलत ऑटोसिंक' अपवाद हुआ।

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