का उपयोग कर "स्ट्रिंग" कॉलम के लिए अधिकतम लंबाई प्राप्त करें क्या VARCHAR, CHAR आदि के लिए अधिकतम कॉलम लंबाई प्राप्त करना संभव है?LINQ से SQL
6
A
उत्तर
1
शुद्ध T-SQL में आप इस क्वेरी का उपयोग कर सकते हैं: LINQ करने वाली एसक्यूएल के लिए
select max_length from sys.columns as c inner join sys.objects o on c.object_id = o.object_id where o.name = 'myTable' and c.name = 'myColumn'
आप इसे LINQ में फिर से लिखने की जरूरत है।
4
यहाँ एक तरह से जो डेटाबेस को छू से बचा जाता है है:
- प्रतिबिंब का उपयोग करना, इकाई वर्ग है कि प्रश्न में स्तंभ से मेल खाती है की संपत्ति मिलता है।
- फिर, संपत्ति का System.Data.Linq.Mapping.Column विशेषता पुनर्प्राप्त करें।
- फिर, कॉलम की लंबाई प्राप्त करने के लिए इस विशेषता की डीबीटाइप संपत्ति को पार्स करें (उदाहरण के लिए NVarChar (255) न्यूल)।
1
यहाँ उत्तर दिया:
public static int GetLengthLimit(Type type, string field) //definition changed so we no longer need the object reference
//Type type = obj.GetType(); //comment this line
और कॉल का उपयोग:
int i = GetLengthLimit(typeof(Pet), "Name");
किसी के बारे में सोच सकते
Linq to SQL - Underlying Column Length
हालांकि मैं यह neater बदलने के लिए मिला दृढ़ता से टाइप करने का तरीका क्षेत्र संदर्भ?
1
public static int GetLengthLimit(Model.RIVFeedsEntities ent, string table, string field)
{
int maxLength = 0; // default value = we can't determine the length
// Connect to the meta data...
MetadataWorkspace mw = ent.MetadataWorkspace;
// Force a read of the model (just in case)...
// http://thedatafarm.com/blog/data-access/quick-trick-for-forcing-metadataworkspace-itemcollections-to-load/
var q = ent.Clients;
string n = q.ToTraceString();
// Get the items (tables, views, etc)...
var items = mw.GetItems<EntityType>(DataSpace.SSpace);
foreach (var i in items)
{
if (i.Name.Equals(table, StringComparison.CurrentCultureIgnoreCase))
{
// wrapped in try/catch for other data types that don't have a MaxLength...
try
{
string val = i.Properties[field].TypeUsage.Facets["MaxLength"].Value.ToString();
int.TryParse(val, out maxLength);
}
catch
{
maxLength = 0;
}
break;
}
}
return maxLength;
}
संबंधित मुद्दे
- 1. LINQ से SQL
- 2. LINQ से SQL
- 3. LINQ से SQL
- 4. LINQ से SQL
- 5. LINQ से SQL
- 6. LINQ से SQL
- 7. LINQ से SQL Peculiarities
- 8. LINQ से SQL
- 9. LINQ से SQL
- 10. LINQ से SQL
- 11. LINQ से SQL C#
- 12. LINQ से SQL -
- 13. LINQ से SQL
- 14. LINQ से SQL डिजाइनर
- 15. LINQ से SQL
- 16. LINQ से SQL पेजिंग
- 17. LINQ से SQL
- 18. LINQ से SQL
- 19. LINQ से SQL EntitySet
- 20. LINQ से SQL विज़ुअलाइज़र?
- 21. LINQ से SQL
- 22. LINQ से SQL
- 23. LINQ से SQL रूपांतरण ओवरफ़्लोज़
- 24. LINQ से SQL ForeignKeyReferenceAlreadyHasValueException त्रुटि
- 25. linq से sql अद्यतन मानक
- 26. LINQ से SQL Left Outer
- 27. LINQ से SQL अनुक्रमिक GUID
- 28. LINQ से SQL क्रॉस लागू
- 29. LINQ से SQL बनाम ADO.Net
- 30. LINQ से SQL: एक क्वेरी
क्या आप कॉलम के लिए अधिकतम संभव लंबाई जानना चाहते हैं, उदा। वर्चर (1000) के लिए 1000 या इस कॉलम में मानों की अधिकतम लंबाई? – liggett78