मैं एक datatable कि एक डाटासेट में लोड किया गया था को निकालने का प्रयास कर रहा हूँ (रिश्तों का एक समूह है), और संबंधित किया गया है। यहां कोड मैंने कोशिश की है।मैं कैसे एक डाटासेट से एक datatable निकालूँ
domain.EnforceConstraints = false;
if (domain.Tables["TABLE_NAME"] != null)
{
domain.Tables["TABLE_NAME"].ChildRelations.Clear();
domain.Tables["TABLE_NAME"].ParentRelations.Clear();
domain.Tables.Remove("TABLE_NAME");
}
domain.EnforceConstraints = true;
यह मौजूदा विदेशी बाधा के कारण तालिका को हटाने के बिंदु पर अपवाद फेंकता है। दुर्भाग्य से, जिस तरह से तर्क मैं पता नहीं क्या बाधा का नाम है है [तो मैं मुश्किल नहीं कोड कर सकते हैं यह]।
वहाँ दूर एक आसान तरीके से यह पूरा करने के है, या मैं कैसे पता लगाने और बाधा जो कि मेरी समस्या खड़ी कर रहा है को दूर करने के लिए के रूप में कुछ सुझाव प्राप्त कर सकते हैं।
अग्रिम धन्यवाद, स्टीव
-------------------------- उत्तर ---------- --------------
मैं तो यहाँ अपने खुद के सवाल का जवाब देने की अनुमति नहीं थी है समाधान मैं के साथ आया था। यह कोड स्निपेट अब मेरे लिए काम करता है। मुझे दूसरी मेज के संबंध में यात्रा करना पड़ा और वहां से बाधा को दूर करना पड़ा।
if (domain.Tables["TABLE_NAME"] != null)
{
for (int f = domain.Tables["TABLE_NAME"].ChildRelations.Count -1; f >=0; f--)
{
domain.Tables["TABLE_NAME"].ChildRelations[f].ChildTable.Constraints.Remove(domain.Tables["TABLE_NAME"].ChildRelations[f].RelationName);
domain.Tables["TABLE_NAME"].ChildRelations.RemoveAt(f);
}
domain.Tables["TABLE_NAME"].ChildRelations.Clear();
domain.Tables["TABLE_NAME"].ParentRelations.Clear();
domain.Tables["TABLE_NAME"].Constraints.Clear();
domain.Tables.Remove("TABLE_NAME");
}
डोमेन (प्रकार System.Data.Dataset की) एक डाटासेट है, लेकिन हाँ, मूल रूप से डेटा SQL सर्वर 2005 – Steve
@Chris वह स्मृति में ADO.NET वस्तुओं के साथ काम कर रहा है से लोड किया गया था, डेटाबेस इंजन इस संदर्भ में प्रासंगिक नहीं है। –
मुझे पता चला कि मुझे तीन लाइनों डोमेन टेबल्स ["TABLE_NAME"] करने की आवश्यकता नहीं है। ChildRelations.Clear(); । domain.Tables [ "TABLE_NAME"] ParentRelations.Clear(); । domain.Tables [ "TABLE_NAME"] Constraints.Clear(); –