में स्ट्रिंग प्रॉपर्टी को प्राथमिक कुंजी के रूप में कैसे उपयोग करें IF में नया हूं और ईटीएफ 6.0 में कोड के पहले दृष्टिकोण से अपना पहला कदम करने का प्रयास करें और अब मुझे कोई समस्या है।एंटिटी फ्रेमवर्क
मैं एक संपत्ति
[Key]
public string FooId { get; set; }
जो मॉडल के लिए मेरी प्राथमिक कुंजी है।
लेकिन अगर मैं डेटाबेस मैं निम्न त्रुटि प्राप्त करने के लिए माइग्रेशन लंबित अपडेट करने के लिए पैकेज प्रबंधक कंसोल
PM> Update-Database
कमांड चलाएँ: अगर मैं करने के लिए अपने मॉडल में पी बदलने
Identity column 'FooId' must be of data type int, bigint, smallint, tinyint, or decimal or numeric with a scale of 0, and constrained to be nonnullable.
[Key]
public int FooId { get; set; }
सब कुछ ठीक काम करता है।
लेकिन मुझे पीके को प्रकार की स्ट्रिंग होने की आवश्यकता होगी क्योंकि यह मेरे मामले में बिल्कुल समझ में आता है। मुझे पता है कि नुकसान हैं लेकिन मेरे लिए यह जरूरी है।
मैंने यहां एक पुरानी पोस्ट देखी है How to make string as primary key in entity framework!।
लेकिन ऐसा लगता है कि मेरी समस्या का समाधान नहीं है या मैं इसे समझ में नहीं आता हूं।
क्या यह वास्तव में है कि मैं एसक्यूएल डेटाबेस पर पीके के रूप में स्ट्रिंग का उपयोग नहीं कर सकता?
या ऐसा करने का कोई तरीका है?
कुंजी, पहचान करने के लिए चूक है, ताकि आप विशेषता के आधार पर इसे बंद करने की जरूरत है '[DatabaseGenerated (DatabaseGeneratedOption.None)] 'इसका मतलब है कि जोड़ते समय आपको मैन्युअल रूप से कुंजी निर्दिष्ट करने की आवश्यकता है (यह उत्पन्न नहीं हुआ है)। – Hopeless