मेरे पास निम्न दृश्य है:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER VIEW [dbo].[RateAverageValueView] WITH SCHEMABINDING
AS
SELECT
Id = NEWID(),
AverageRateValue = AVG(Value)
FROM dbo.Rate
GO
लेकिन मैं इसे EF मॉडल (edmx फ़ाइल) में नहीं जोड़ सकता।
मुझे पता है कि इसमें एक प्राथमिक कुंजी कॉलम होना चाहिए, इसलिए मैंने Id = NEWID()
जोड़ा, लेकिन यह काम नहीं करता।
क्या समस्या है?
विजुअल स्टूडियो के चेतावनी अनुभाग में निम्नलिखित त्रुटि सूचीबद्ध है:
चेतावनी:
Error 6013: The table/view 'YoutubeLinks.dbo.RateAverageValueView' does not have a primary key defined and no valid primary key could be inferred. This table/view has been excluded. To use the entity, you will need to review your schema, add the correct keys, and uncomment it.
2 जवाब
मैंने दृश्य को निम्नलिखित में बदल दिया:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER VIEW [dbo].[RateAverageValueView] WITH SCHEMABINDING
AS
SELECT
Id = 1,
AverageRateValue = AVG(Value)
FROM dbo.Rate
GO
समस्या हल हो गई :)
दृश्य बनाते समय SCHEMABINDING
का उपयोग करें, जो इस पिछले उत्तर में वर्णित PK को जोड़ने की अनुमति देगा: आप एसक्यूएल व्यू में प्राथमिक कुंजी कैसे जोड़ते हैं? - या दृश्यों को LINQ-2-Entities से लिंक करने का वैकल्पिक तरीका
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।