मैं इकाई फ्रेमवर्क 4.1 का उपयोग कर रहा हूं और कभी-कभी संग्रहीत प्रक्रियाओं को कॉल करने की आवश्यकता होती है। इनमें से कुछ वापसी मूल्यों के रूप में वापसी करते हैं। उदाहरण के लिएइकाई ढांचे 4.1 में संग्रहीत प्रक्रिया से मुझे एक int कैसे वापस करना चाहिए?
CREATE PROCEDURE ...
...
INSERT INTO ...
SELECT @@Identity
(अद्यतन: हटा दिया गया मान, पहचान प्रासंगिक नहीं हम वापस लौट रहे हैं।)
मेरे पास मेरी respository वर्ग में निम्न कोड:
var orderNo = context.Database.SqlQuery<int>("EXEC myProc").Single();
यह त्रुटि संदेश The specified cast from a materialized 'System.Decimal' type to the 'System.Int32' type is not valid.
यदि मैं ऊपर दिए गए कोड को
पर बदलता हूंvar orderNo = context.Database.SqlQuery<decimal>("EXEC myProc").Single();
सबकुछ काम करता है।
अब, मुझे लगता है कि मुझे एक int वापस करने में सक्षम होना चाहिए। ऐसा करने का सही तरीका क्या है?
@@ वापस नहीं लौटें या आप अप्रत्याशित व्यवहार में भाग सकते हैं क्योंकि @@ पहचान सत्र की परवाह किए बिना अंतिम आईडी लौटाती है। 'SCOPE_IDENTITY()' – Icarus