के पास सिंटेक्स त्रुटि context.Database.ExecuteSqlCommand()
का उपयोग कर मुझे डीबीकॉन्टेक्स्ट के माध्यम से एक SQL कथन भेजने में समस्या हो रही है।एसक्यूएलएक्सप्शन: 'जाओ'
मैं निष्पादित करने के लिए
CREATE TABLE Phones([Id] [uniqueidentifier] NOT NULL PRIMARY KEY,
[Number] [int],[PhoneTypeId] [int])
GO
ALTER TABLE [dbo].[Phones] ADD CONSTRAINT [DF_Phones_Id]
DEFAULT (newid()) FOR [Id]
GO
यह त्रुटि स्ट्रिंग
Incorrect syntax near the keyword 'ALTER'.
Incorrect syntax near 'GO'.
हालांकि चल रहा है कि SSMS में सटीक बयान त्रुटियों के बिना चलाता है के साथ विफल कोशिश कर रहा हूँ? DbContext के माध्यम से डिफ़ॉल्ट बाधा के संबंध में हल करने के लिए मुझे आवश्यक कोई भी समस्या। मुझे बाधाओं का उपयोग करने वाले लोगों के साथ समस्याएं आ रही हैं और आईएसडीबी जेनरेटेड सेट को सही नहीं है। मुझे यकीन नहीं है कि यह कैसे लागू होगा हालांकि।
यही कारण है एसएसएमएस के लिए सच है, हालांकि यदि आप एसएसएमएस में बैच सेपरेटर बदलते हैं तो उपरोक्त कोड अभी भी 'जाओ' पर चकित होगा। –
एक नोट जो मैं जोड़ना चाहता हूं। अगर मुझे पसंद है, तो आप अक्सर अपने प्रश्नों से कुछ प्रकार का रिटर्न वैल्यू चाहते हैं कि आप एसएमओ के माध्यम से गुजर रहे हैं, इस बात से अवगत रहें कि ExecuteWithResults गो और एल्टर कथन में चलाए जाने पर अपवाद वापस कर देगा। मुझे थोड़ी देर पहले यह पता चला, और हमारे UI पर ExecuteNonQuery को केवल एक विकल्प डालने के लिए समाप्त हो गया जो स्क्रिप्ट रन टाइम पर चेक हो जाता है। – CodeWarrior