LINQ का उपयोग करके, मैं तालिका के कॉलम नाम कैसे प्राप्त कर सकता हूं? सी # 3.0, 3.5 ढांचेLINQ: तालिका कॉलम नाम प्राप्त करें
उत्तर
के साथ अपने L2S वर्गों के गुण मुझे लगता है आप एसक्यूएल के लिए LINQ का उपयोग कर, DataContext.Mapping संपत्ति में जो मामले नज़र में से मतलब है। मैं यही उपयोग करता हूं।
यदि आपका मतलब यह नहीं है, तो शायद आप जो हासिल करने की कोशिश कर रहे हैं उस पर विस्तार कर सकते हैं?
मैं LINQPad (सी #) का उपयोग कर एक प्रोग्राम लिखना चाहता हूं जो इसके लिए एसक्यूएल डालने के बयान बना सकता है इसके लिए मुझे टेबल के कॉलम नामों की आवश्यकता है। –
इसे थोड़ा सा स्पष्ट किया जा सकता है ... यह एक उत्तर का अधिक नहीं है। –
कुछ उदाहरण उपयोग बहुत अच्छा होगा। मैपिंग एपीआई कम से कम कहने के लिए थोड़ा सा अंतर्ज्ञानी है ... –
दोहराएं प्रतिबिंब
अपने डेटा संदर्भ पर ExecuteQuery विधि का उपयोग करें और यह SQL स्क्रिप्ट निष्पादित करें:
var columnNames = ctx.ExecuteQuery<string>
("SELECT name FROM sys.columns WHERE object_id = OBJECT_ID('your table name');");
यह आपको लगता है कि तालिका में सभी स्तंभ नाम आपके द्वारा निर्दिष्ट के साथ एक IEnumerable<string>
देता है।
बेशक, यदि आप चाहते हैं और इसकी आवश्यकता है, तो आप हमेशा SQL सर्वर में sys.columns
कैटलॉग दृश्य से अधिक जानकारी (जैसे डेटा प्रकार, अधिकतम लंबाई) पुनर्प्राप्त कर सकते हैं।
यदि आप मैप किए गए तालिका के लिए कॉलम प्राप्त करने के बारे में बात कर रहे हैं तो कॉलम विशेषताओं को कैसे प्राप्त करें, यह देखने के लिए this answer देखें। वहां से आप कॉलम नाम, प्रकार इत्यादि प्राप्त कर सकते हैं
मैंने इस प्रश्न पर एक ही चीज़ की तलाश में ठोकर खाई और वास्तव में एक अच्छा जवाब नहीं देखा। मैंने ये ढूंढ निकाला। इसे सी # अभिव्यक्ति मोड के तहत बस LINQPad में फेंक दें।
from t in typeof(UserQuery).GetProperties()
where t.Name == "Customers"
from c in t.GetValue(this,null).GetType().GetGenericArguments()[0].GetFields()
select c.Name
फिट बैठने पर संशोधित करें।
हो सकता है कि यह बहुत देर हो चुकी है, लेकिन, मैं
var db = new DataContex();
var columnNames = db.Mapping.MappingSource
.GetModel(typeof(DataContex))
.GetMetaType(typeof(_tablename))
.DataMembers;
धन्यवाद, आपने अभी मुझे एक नाव भार बचाया है। यह स्वीकार्य उत्तर से बेहतर है क्योंकि यह दिखाता है कि DataContext.Mapping प्रॉपर्टी का उपयोग कैसे करें। –
VB.Net के लिए 'टाइपऑफ (डेटाकॉन्टेक्स्ट)' के बजाय 'GetType (DataContext)' का उपयोग करें। – Zarepheth
मैं LINQPad
from t in typeof(table_name).GetFields() select t.Name
ध्यान दें कि यह तालिका नाम का अनूठा संस्करण है। –
में इस कोड को नीचे दिए गए कोड रिटर्न से काम किया जाएगा सभी स्तंभ के नाम का इस्तेमाल इस कोड को इस समस्या का समाधान तालिका
var columnnames = from t in typeof(table_name).GetProperties() select t.Name
यह सुनिश्चित नहीं है कि यह क्यों ऊपर नहीं उठाया गया था, यह सबसे सुंदर जवाब है। यहां लैम्ब्डा सिंटैक्स समतुल्य है: var columnnames = typeof (table_name) .GetProperties()। चुनें (t => t.Name); – draconis
शायद यह अपरिवर्तित नहीं था क्योंकि आप न केवल कॉलम प्राप्त करते हैं बल्कि अतिरिक्त गुण भी प्राप्त करते हैं। यह आम तौर पर दिमाग में विस्तारशीलता के साथ एक आंशिक वर्ग है। – mbx
var query = from x in DataBase.Table_Name
select x.Column_Name;
sp_help 'TableName'
एमएस एसक्यूएल सर्वर
करने के लिए एक LINQPad एसक्यूएल खिड़की LINQPad में के लिए एक विकल्प:
TableNames.Take (1) काम करता है।
यह टाइप करना तेज़ है। (यद्यपि आप एक आदर्श दुनिया में हैं, फिर भी किसी भी पंक्ति का चयन न करने के लिए अच्छा होगा।)
ध्यान दें कि यह तालिका नाम का बहुवचन रूप है। आप टेक (0) भी कर सकते हैं और एसक्यूएल परिणाम टैब देख सकते हैं।
- 1. कॉलम नाम प्राप्त करें
- 2. LINQ: तालिका विवरण प्राप्त करें
- 3. mysql वर्णमाला क्रम में तालिका कॉलम नाम प्राप्त करें
- 4. कॉलम नाम प्राप्त करें जहां पैंडस डेटाफ्रेम
- 5. jqgrid सभी ग्रिड कॉलम नाम प्राप्त करें
- 6. डेटाबेस से तालिका नाम प्राप्त करें
- 7. रिक्त तालिका में SQLite कॉलम नाम खोजें
- 8. LINQ: कस्टम स्तंभ नाम
- 9. MYSQL कॉलम डेटा और तालिका नाम
- 10. लिंक से SQL में डेटाटाइम कॉलम से महीना नाम कैसे प्राप्त करें?
- 11. किसी दिए गए तालिका के लिए प्राथमिक कुंजी कॉलम नाम कैसे प्राप्त करें?
- 12. पीडीओ का उपयोग करते समय मूल तालिका/कॉलम नाम कैसे प्राप्त करें?
- 13. एमएस एक्सेस में किसी तालिका के कॉलम नाम कैसे प्राप्त करें?
- 14. कॉलम नाम
- 15. कॉलम नाम
- 16. LINQ - के लिए कॉलम
- 17. पोस्टग्रेर्स कॉलम नाम
- 18. Django ऐप में सभी तालिका नाम प्राप्त करें
- 19. हाइबरनेट में मॉडल से तालिका का नाम प्राप्त करें
- 20. SQLite, डेटाबेस में सभी तालिका नाम कैसे प्राप्त करें?
- 21. कई कॉलम पर LINQ COUNT
- 22. अमान्य कॉलम नाम 'गलत' (क्लासिक एएसपी, तालिका संपादित समस्या)
- 23. LINQ तालिका इकाई की रूपरेखा
- 24. EF4 में तालिका | कॉलम नाम के लिए एक अलग नाम निर्दिष्ट करें
- 25. अंतिम नाम कॉलम पर अंतिम नाम से ऑर्डर कैसे करें?
- 26. तालिका नाम
- 27. कॉलम के साथ MySQL प्रदर्शन तालिका का नाम
- 28. कॉलम मान-linq
- 29. LINQ: कॉलम-वैल्यू
- 30. कॉलम नाम से एक्सेल कॉलम नंबर
'linq-to-sql' के लिए retagged, अगर आप किसी अन्य प्रकार का "LINQ" मतलब है तो कृपया अपना प्रश्न संपादित करें। –
दुर्भाग्य से यह क्वेरी LINQPad के अंदर चलती है तो मैं LINQPad में संदर्भ कैसे प्राप्त करूं? –