आप LINQ to DataSets का उपयोग करते हैं कर सकते हैं:
Assert.IsTrue(dataSet.Tables[0].AsEnumerable().Where(
r => ((string) r["Col1"]) == "MyValue").Count() == 1);
ध्यान दें, यदि आप भी ऐसा कर सकते हैं कॉल के बिना दावा करने के लिए:
dataSet.Tables[0].AsEnumerable().Where(
r => ((string) r["Col1"]) == "MyValue").Single();
पंक्तियों की संख्या बराबर नहीं है तो एक (इसलिए, "एकल" पर कॉल), फिर एक अपवाद फेंक दिया जाएगा, और उस अनचाहे अपवाद आपके परीक्षण मामले में विफल होना चाहिए। व्यक्तिगत रूप से, मुझे उत्तरार्द्ध पसंद है, क्योंकि इसका स्पष्ट अर्थपूर्ण अर्थ है।
dataSet.Tables[0].AsEnumerable().Single(
r => ((string) r["Col1"]) == "MyValue");
साथ ही, आपको DataRowExtensions
class पर Field
method का लाभ लेने के क्षेत्र के लिए टाइप सुरक्षित पहुंच आसान बनाने के लिए कर सकते हैं (और साथ ही के अतिरिक्त लाभ प्रदान:
ऊपर और नीचे करने के लिए छांटे जाते हैं किया जा सकता है परिवर्तित DBNull
.NET में समकक्षों शून्य पर):
dataSet.Tables[0].AsEnumerable().Single(
r => r.Field<string>("Col1") == "MyValue");
आप मिलान पंक्तियों को वापस करना चाहते हैं, या बस कितने हैं इसकी गिनती है? –