Anonymous Types
نتابع الحديث عن الـ LINQ والدرس يتكلم عن Anonymous Types احدى المفيدة في الـ LINQ بصراحة انا بتكلم عن الخاصية بـ ما فهمتة , بمعنى اخر مفهومي الخاص
عندما نعمل استعلام بـ LINQ لنفرض الى جدول ما وعندما يتم عرض النتيجة فانة يعرض جميع الحقول في الجدول , لربما نحن نريد فقط حقول معينة هنا يأتي احد ادور الـ Anonymous Types , لنأخد مثال للتوضيح اكثر :
في البداية لنعمل جدول خاص بـ Department
وهذه حقولة
وانا مليت الجدول بـ بيانات اتمنى نمليها كلنا مثل الشيئ لنكون متابعين مع المثال
في البداية نكتب هذا الاستعلام
ملاحظة سوف نضع GridView ونكتب هذا الاستعلام في الحدث Page_Load
var Grid = from c in db.Departments
select c;
GridView1.DataSource = Grid;
GridView1.DataBind();راح نلاحظ انه يعرض جميع الحقول حتى لو كان بشرط بعد راح يظهر لنا الحقلين الموجودين DepID و DepName
لنفرض اننا نريد فقط الحقل الثاني هنا سوف نستخدم الـ Anonymous Types
لنرى المثال:
var Grid = from c in db.Departments
select new
{
c.DepName
};
GridView1.DataSource = Grid;
GridView1.DataBind();استخدمت new وبعدها كتبت اسم حقل الاسم فقط ولو نلاحظ النتيجة سوف نلاحظ انه يتم عرض فقط حقل الاسم,
نأتي الان الى دور اخر للـ Anonymous Types لو نلاحظ اخر مثالي ونلقي نظرة على اعلى الـ Grid View والمقصد الـ Header راح نلاحظ اسم الجدول كما هو صحيح ؟؟
لنفرض انا نريد عرض هذه الـ Grid على المستخدم , طبعا هو لا يعنيه اسم حقول الجدول ,, هنا يأتي الدور للـ Anonymous Types , لنتابع المثال :
نعمل تغير بسيط على المثال السابق
var Grid = from c in db.Departments
select new
{
Name = c.DepName
};
GridView1.DataSource = Grid;
GridView1.DataBind();عرفنا object اسمة Name , بمعنى هو الذي سوف يأخد بيانات الـ DepName
القي نظرة على الـ Grid راح تلاحظ ان الاسم تغير فعلا .
الى الان عرفنا دورين من ادوار Anonymous Types
لنتعمق قليلا بطريقة اخرى
ليس فقط عند كتابة اسم قبل اسم الحقل يستخدم فقط الى الـ Grid , هو object استطيع استخدامة مثل المثال :
var AnonDep = from c in db.Departments
select new
{
Name = "ID: " + c.DepID + " - " + " Department: " + c.DepName
};
foreach (var n in AnonDep)
{
Label_result.Text += n.Name + "<br />";
}بكلامي الشخصي : Name اصبح كانه متغير يحمل كل المعلومات الي نريدها وبعدها يتم عرضها
في النهاية اخواني Anonymous Types تستخدم بطرق مختلفة لكن كلها في النهاية مثل النتيجة , وبصراحة المكتوب في في الاعلى ليس كل شيئ لان متأكد توجد اشياء انا لا اعلمها, لكن الاهم اني حاولت ايصال الفكرة عن Anonymous Types
لنسميها البداية , واريد ان ابقي جزئ لك عزيزي القارئ لأكتشافة. الاهم الان انك لو رأيت استعلام على الشبكة تستطيع تحليل الاستعلام واذا كانت توجد اضافة فأهلا وسهلا بها .
واتمنى , اتمنى ان تكون الفكرة وصلت بشكل سليم
احفظ الجدول عندك لان راح استخدمة في درس قادم ان شاء الله
روابط:
هذا رابط مفيد بصراحة انا فهمت منه اشياء كثيرة , واجبي ان اضعة لكم وان شاء الله تستفيدون منه
New "Orcas" Language Feature: Anonymous Types
-----------
دمتم سالمين.