मेरे पास निम्न दृश्य है:

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.
1
Mohammad Dayyan 30 जून 2017, 14:51

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

समस्या हल हो गई :)

0
Mohammad Dayyan 2 जुलाई 2017, 07:29

दृश्य बनाते समय SCHEMABINDING का उपयोग करें, जो इस पिछले उत्तर में वर्णित PK को जोड़ने की अनुमति देगा: आप एसक्यूएल व्यू में प्राथमिक कुंजी कैसे जोड़ते हैं? - या दृश्यों को LINQ-2-Entities से लिंक करने का वैकल्पिक तरीका

0
ZippyZippedUp 30 जून 2017, 15:03