खोजने में विफल रहा है मैंने मौजूदा डेटाबेस के आधार पर एक इकाई फ्रेमवर्क मॉडल बनाया है। एंटिटी फ्रेमवर्क ADO.NET DbContext जेनरेटर का उपयोग कर रहा है।एमवीसी 3/रेजर नियंत्रक जोड़ें "Get-PrimaryKey" प्राथमिक कुंजी
मैंने एक एमवीसी 3/रेजर प्रोजेक्ट भी बनाया है जो पहली परियोजना से डीएलएल का उपयोग कर रहा है। जब मैं विकल्प पर क्लिक करें "जोड़ें -> नियंत्रक" और आवश्यक फ़ील्ड मैं एक कष्टप्रद त्रुटि मिलती भरें:
Scaffolding GroupController...
EMR_MasterEntities already has a member called 'Groups'. Skipping...
Get-PrimaryKey : Cannot find primary key property for type 'CHS.CCC.DataModel.Group'. No properties appear to be primar
y keys.
At C:\Users\adriangilbert\Desktop\CHS.Monitor\packages\MvcScaffolding.1.0.6\tools\Controller\MvcScaffolding.Controller.
ps1:74 char:29
+ $primaryKey = Get-PrimaryKey <<<< $foundModelType.FullName -Project $Project -ErrorIfNotFound
+ CategoryInfo : NotSpecified: (:) [Get-PrimaryKey], Exception
+ FullyQualifiedErrorId : T4Scaffolding.Cmdlets.GetPrimaryKeyCmdlet
इस के आसपास पाने के लिए, मैं Groups.cs कि दृश्य द्वारा उत्पन्न की गई करने के लिए जाने की जरूरत है स्टूडियो और 'System.ComponentModel.DataAnnotations का उपयोग करके' जोड़ें। और फिर समूह फ़ील्ड की घोषणा के लिए [कुंजी] जोड़ें। हालांकि यह जेनरेट कोड है। अगर मैं एंटिटी फ्रेमवर्क प्रोजेक्ट को पुन: संकलित करता हूं, तो मेरे बदलाव निश्चित रूप से खो जाएंगे।
तो - मेरे सवाल यह है:
Am मैंने कुछ गलत है कि खड़ी कर रहा है कर रही दृश्य स्टूडियो यह पता लगाने की क्या कुंजी क्षेत्र है, या यह सिर्फ मचान कोड है कि के साथ एक बग है में सक्षम नहीं हो कुंजी को समझने से इसे रोकना।
मुझे यह उल्लेख करना चाहिए कि यह केवल स्ट्रिंग-आधारित प्राथमिक कुंजी के साथ विफल रहता है। अगर क्षेत्र को इंटीजर के रूप में घोषित किया गया था, तो सब कुछ पूरी तरह से काम करता है।
CREATE TABLE [dbo].[Groups](
[group_name] [varchar](45) NOT NULL,
[dbname] [varchar](45) NOT NULL,
[user] [varchar](45) NULL,
[CompatibilityVersion] [nvarchar](20) NULL,
...
PRIMARY KEY CLUSTERED ([group_name] ASC)
) ON [PRIMARY]
यहाँ मेरी पर्यावरण है::
यहाँ समस्याग्रस्त तालिका है
आपने अपनी इकाई को कैसे निर्दिष्ट किया? – cpoDesign