2012-03-31 8 views
6

SQL के कैसे SQL के Linq में तालिका संकेत का उपयोग करने के लिए जब कॉल परिवर्तन विधि प्रस्तुतकैसे Linq में तालिका संकेत का उपयोग करने के

dataContext.table2.something = dataContext.table1.something; 
dataContext.SubmitChanges();  

मैं इस एसक्यूएल कोड की तरह उपयोग करना चाहते हैं:

declare @var int; 
begin transaction 
select @var = something from table1 with (HoldLock); 
update table2 set something = @var; 
update table1 set something = @var + 1; 
commit transaction; 
+0

डुप्लिकेट के पास: http://stackoverflow.com/questions/4104323/how-to-use-sql-server-table-hints-while-using-linq –

+0

आपको वास्तव में क्या संकेत जोड़ने की आवश्यकता है? इसके आधार पर विभिन्न समाधान हो सकते हैं। दुर्भाग्य से – JotaBe

उत्तर

1

मैंने हमेशा सुना है कि नहीं किया जा सकता है। लिंक का लक्ष्य (या उनमें से कम से कम एक) एसक्यूएल से बाहर या दिमाग से बाहर है इसलिए आपको इस तरह की चीजों से चिंता करने की ज़रूरत नहीं है। मेरा सुझाव है कि आप अपने कोड को तालिका प्रक्रिया के साथ एक SQL प्रक्रिया में जोड़ दें और इसे कॉल करने के लिए लिंक का उपयोग करें।

+0

कुछ कारणों से मैं संग्रहित प्रक्रिया – Star

+0

का उपयोग नहीं कर सकता, विचारों, तालिका कार्यों के बारे में कैसे? या आप डीबी – Diego

+0

पर कोई ऑब्जेक्ट नहीं बना सकते हैं, मैं केवल दृश्य बना सकता हूं लेकिन यह कैसे मदद कर सकता है ?? – Star

2

यह नहीं हो सकता।

असल में, प्रतिबिंब का उपयोग करके गंभीर बुरा हैकिंग करके संभव है। आप किसी क्वेरी को संकलित कर सकते हैं, और तब कुछ आंतरिक ऑब्जेक्ट में जेनरेट की गई SQL स्ट्रिंग के साथ बेवकूफ़ बना सकते हैं। ऐसा करने के लिए यह कम से कम वांछनीय तरीका है।

मैं आपको इस के लिए कच्चे एसक्यूएल के साथ रहने की सलाह देता हूं।

संबंधित मुद्दे