درس Entity Framework في بريزم
#31
السلام عليكم
اخي على و الاخ مسعود اررررريبد تضعوا السورس لحضة بلحضة حتى و ان كان بالسي لاني اصبحت متاخر عليكم بسبب الاسكل لكن اررررريبد دان تضعو قليلا من الشرح .
ان وصلتم الى عمليت العرض في الداتا قريد. فلا تكملو ا الا بشرح مافعلتموه خصوصا linq و علاقتها ب Entity Framework
شكرا
#32
اذن سابد انا بما عملناه الى حد الان
في هده الصورة المشروع الذي عملته على الدلفي العادي win32 و الذي يمثل احد الطرق لتطبيق برمجة ن طبقة
[صورة: post-1034-12680809235746.jpg]
اما في البريسم او الدوت نت لا يختلف الامر كثيرا فبنفس اطريقة تقريبا سنقوم بهذا المشروع
حيث ان
1- طبقة العرض Presentation
2- طبقة البيانات Data Access هي التي اسميهتها dal
3- طبقة التطبيقات Business Logic


اعداد بيئة المشروع :
نقوم بإعداد طبقات المشروع ..و كل طبقة عبارة عن مشروع من نوعClass Library حيث يسمح لنا الفيجوال ستديو إنشاء أكثر من مشروع داخل الـ solution
نبدأ مشروع جديد..و نضيف فيه الطبقات عن طريق:
File--> add --> new project
[صورة: 1.PNG?psid=1]
نقوم بتكرار العملية لكل الطبقات حيث يكون شكل الـ Solution

اذن هي
3 مشاريع من نوع Class Library و طبقة العرض مشروع من نوع او من نوع web form مثل مشروعنا هذا Windows Application ملفات الـ Class Library بعد تنفيذ البرنامج ستنشئ ملفات DLL تحفظ في ملف الـ Bin الموجود في طبقة العرض تلقائيا في كل مرة يتم عمل تنفيذ للبرنامج ..

نبدأ ان شاء الله بتحضير الطبقة الثانية و قلنا انها هي المسؤلة على الربط بالقاعدة في مشروع win 32 استعملت الربط بواسطه مكون ADO اما في البريسم هناك طريقة جديدة لربط الالي حيث كلما نغير او نحذف ابجكت تتغير القاعدة وذلك باستعمال Entity Framework فماهي
تعريق الاخ على

بشكل مختصر وعبر عدة مراحل اليوم سوف نتكلم عن مقدمة بسيطة و تطبيق يسهل لنا التعرف على التقنية الجديدة
تقنية Entity Framework موجهة للتعامل مع قواعد البيانات بشكل منفصل ظهرت هذه التقنية مع ظهور Dotnet Framework 3.5 اما عن الية عملها فهي تقوم بعمل كبسلة للجداول في قاعدة البيانات وانشاء فئات لهذه الجداول
كما كنا نتعامل مع تطبيقات n_tier تماما فال Entity Framework جاءت لنفس الغرض الذي تقدمة n-tier لكن في Entity Framework يقوم الفيجوال استديو بالقيام بالمهمة بدلا من ان نقوم بها نحن مسهلة لنا المهمة
كما انها تقوم بانشاء الجداول من كلاسات ايضا وسنتطرق الى ذلك في فرصة اخرى ان شاء الله
قد يتسال البعض ماهي n-tier وما الفائدة منها
بالعربي n-tier هي تطبيق متعدد الطبقات تتخاطب في ما بينها
الغاية منها المركزية والجماعية و سهولة تدارك الاخطاء بما ان البرنامج مقسم الى عدة اجزاء كما انه لا يهمانا باي لغة برمجة تم برمجة كل جزء مثلا ملف dll مبرمج على vb.net استطيع ان استخدمه ب c# او جافا او غير ذلك
- طبقة البيانات Data Access
سوف نتطرق باذن الله الى كيفية انشاء اصناف ثم انشاء الجدول انطلاقا من هذه الكلاسات
اذن نضيف Entity Frameworkالى الطبقة
[صورة: 2.PNG?psid=1]
#33
نضغط كيلك يمين على اي مكان داخل الصفحة ثم نختار add وبعدها entity
لتظهر نافذة اخرى تطلب منا اداخل اسم لهذه ال entity
في Entity Name ضع اسما من اختيارك ومن Prperty Name ضع اسم المفتاح الرئيسي اما Prperty Type فيطلب منك نوع الحقل اخير اضغط على oK
نتحصل في الاخير على
[صورة: 3.PNG?psid=1]
الخطوة الاخيرة هي انشاء الجداول ولعمل ذلك كليك يمين على صفحة العمل Entity Data Model Designer ثم Generate Data Base From Model
[صورة: post-112245-005100800%201281046611.jpg]
لتظهر نافذة تطلب منك ان تختار ال Connction string اختر الذي يناسبك ثم اضغط على Next
[صورة: post-112245-006677500%201281046624.jpg]
ي الاخير تظهر هذة النافذة والتي اذ تمعنت فيها تسجد انها تحمل اكواد واستعلامات لانشاء الجداول والمفاتيح الاساسية للجداول والاتباطات
اضغط على Finish
[صورة: post-112245-027956400%201281046641.jpg]
#34
السلام عليكم
نكمل ان شاء الله
الان سنعمل على انشاء الاصناف او الفئات الخاصة بهذه الواجهة
بالكليك الايمن نحدد ... َAdd code generation item
لاحض الصورة
[صورة: 4.PNG?psid=1]
نعدها نتحصل على ملف اسمه MODEL1.TT و .pas.
#35
السلام عليكم
اولا وقبل كل شيئ وبمناسبة حلول شهر رمضان المعظم أقدم تهاني الخالصة لكل أعضاء دلفي للعرب
تجدون في المرفقات الكود سورس بال c#
ســـــــــــلام


الملفات المرفقة
.rar   SiteTravel.rar (الحجم : 158.29 ك ب / التحميلات : 46)
#36
السلام عليكم
تم تعديل الكود باضافة الأصناف
الكود سورس موجود في المرفقات
ســـــــــــلام


الملفات المرفقة
.rar   SiteTravel.rar (الحجم : 171.34 ك ب / التحميلات : 25)
#37
السلام عليكم ورحمة الله وبركاته
رمضان مبارك اعاد الله علينا وعليكم باليمن واليسر والبركة
اخي عبد العالي الكلاس التي تبحث عنها موجود امامك Model1.Designer بها كل ما تبحث عنه
دعنا نخطو خطوة جديد لنقم بعملية build لل classlbrary وثم نتجه الى BesnessLogic وانشاء فئة جديدة ولنسميها
Bol ثم نكتب الكود اللازم لاحضار البيانات
لكن اين الاخ خالد الشقروني اتمنى ان يكون المانع خير
وفقنا الله واياكم لما يحبه ويرضاه
#38
السلام عليكم

كل عام و أنتم بخير

إقتباس :لكن اين الاخ خالد الشقروني اتمنى ان يكون المانع خير

أنا أتابع.. بالتوفيق إن شاء الله.
#39
السلام عليكم
اعاده الله علينا بالخير والبركة
شكرا اخي على على التصحيح لان هناك من يقوم بهذه الخطوة الاضافية و جدتها في احد الدروس لان بما ان كل الفأت قد انشأت اليا في ملف Model1.Designer نستطيع الغاء المرحة الاخيرة ّAdd code generation item
ونكمل ان شاء الله .
اقترح في الخطوة القادمة
1-سنستعين تطبيق جديد من نوع winform لاخذ بنصيحت الاخ خالد بما ان الجميع يعرف برمجة windows و ذلك لعرض جميع السجلات في datagrid سجلات طالب الوضيفة .
2-اضافة interface لكل خاص بكل صنف و نحدد فيه الوضاءف اللمستعمل و نسميها I<اسمالصنف> .
3-نضيف اصناف جديدة الى الطبقة الاولى طبقة التطبقات او العمليات او طبقة المعاجات ..الخ لكل صنف موجود في طبقه البيانات (candidat,cv) و في هذه الطبقة ستتم عملية استخراج اليانات وبواسطة الوضاءف المعرف يها في interface و نضع لها اسم خاص مثلا BOL في الاخير .
4- اعادة كتابة التسمية صحيحة و ذات معنى لكل الطبقات و الاضناف ...الخ و تكون هذه التسمية موحدة لاني اري تسمية الاخ مسعود تختلف علي و على الاخ على ايضا .
في الصور نوضح الامور
#40
بالمناسية اخي مسعود هناك اخطاء في السيورس لو ترفق التصحيح شكرا


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم