السلام عليكم ورحمة الله وبركاته،،
بسم الله الرحمن الرحيم،،
اللهم صل على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد،
اللهم بارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد،،
وبعد، مبادرة متواضع في سبيل الله،، وسعيا لتبادل الخبرات،،
أضع بين أيديكم بعض الدروس البسيطة حول البرمجة باستخدام لغة ASP.NET و C# ،،
سأحاول من خلال بعض الدروس أن نستفيد منها عن طريق تطبيق، أين سنركز على نسخ برنامج stackoverflow ،، وجعله
مفتوح المصدر، إن شاء الله،،
|[ ASP.NET ]| التعلم بالتطبيق(درس 01) |[ LinkFlow ]|
|[ ASP.NET ]| (Program.cs) الشرح الممل |[ LinkFlow ]|
|[ ASP.NET ]| (Controller) الشرح الممل |[ LinkFlow ]|
|[ ASP.NET ]| شــ(Views)ـــرح |[ LinkFlow ]|
|[ ASP.NET ]| دراسة للتطوير التطبيق وقاعدة البيانات |[ LinkFlow ]|
|[ ASP.NET ]| تــModelsــحضير قاعدة البيانات |[ LinkFlow ]|
بعد تحضير الـmodels،، ننتقل الآن الى مرحلة تحضير أساسيات الـMigrations أي الاتصال بقاعدة البيانات
وإنشاء الجداول،، للبدأ بإذن الله في مراحل التعديل وإضافة وحذف …الخ
أولا علينا اضافة بعض المكتبات،، وللقيام بذلك، تضغط على الزر الأيمن للفأرة على اسم المشروع ثم تذهب إلى
Manage NuGet Packages
ثم تختار أولا: Microsoft.EntityFramework.SqlServer
وهي مكتبة تساعدنا في الاتصال مع سيرفر SQL وتوفر لنا كائنات تسهل عمليات التواصل مع قاعدة البيانات
تضغط على Install ،، ستطلب منك الموافقة على شروط الاستعمال،،
نفس الأمر السابق لكن الآن مع الأدوات
ثم نقوم بإنشاء مجلد جديد خاص بقاعدة البيانات،، وسنسميه Data
والآن نقوم بإضافة كائن جديد
هذا اسم الكائن الذي اخترته،، وسيكون عبارة عن كائن خاص بنا يوفر لنا الاتصال بقاعدة البيانات،
ويسهل علينا التعامل معها عبر دوال نقوم بإنشاءها،،
نقوم بعمل أب للكائن ونختار في هذه الحالة DbContext وهو كائن تابع للمكتبة التي قمنا بتنصيبها لتسهل علينا التعامل مع قاعدة البيانات،،
أي أن الكائن الخاص بنا الآن يمكنه استعمال كل الدوال والأدوات المتوفرة في الكائن DbContext ،،
الآن تذهب إلى نافذة الأدوات، وتقوم بإظهار نافذة Package Manager والتي سنستعملها لأجل أوامر تحضير القاعدة،،
ثم تنتقل الى متصفح السيرفر، وتقوم بانشاء قاعدة بيانات جديدة ،،
وتجعل مركزها مجلد المشروع،،
ثم في مجلد المشروع، تذهب إلى Services وتضيف اتصال جديد بالضغط على Connect to Database
والاسم يختلف حسب نسخة التي تستعملها، لكن ما يهمنا هو انشاء اسم للاتصال، في حالتي اخترت LinkConnect ثم غيرته لاحقا لنفس إسم المشروع،،
وتختار قاعدة البيانات التي قمت بإنشاءها في مجلد المشروع،، والتي يكون امتدادها mdf
تضيف كائن جديد، وهو أحد الكائنات المهمة، Startup
والذي بدوره يقوم بربط كل الأدوات الخارجية وينظمها مع مشروعنا عند مرحلة بدأ التشغيل،،
لتقوم المكتبات فيما بعد بالقيام بدورها بشكل صحيح،،
ثم تضيف له دالة ConfigureService أي إعداد الأدوات الخارجية،،
ثم باستعمال service.AddDbContext نقوم بإعلام مشروعنا أن الكائن الذي انشأناه في مجلد Data سيكون هو المسؤول عن علاقات قاعدة البيانات و…الخ
ثم تقوم بانشاء ملف جديد ألا وهو Web.Config
يكون شبه محضر، لكن تضيف له اسم اتصال بقاعدة البيانات،،
كما هو موضح في connectionStrings ،، الإسم هو LinkFlow وهو الذي سنستعمله،،
أما عن connectionString يمكنك أخذها نافذة الاتصال الأولى التي استعملناها،، أو عن طريق connection properties في قاعدة البيانات،،
وهذا تجده في SQL Tool Explorer أو باسم آخر لكن دائما تابعة لـبرنامج visual studio
نعود لكائننا المسؤول عن تحكم في قاعدة البيانات،،
ونقوم بعمل تغيير على إحد دوال الكائن DbContext ،، وهي دالة OnConfiguring
وتعمل هذه الدالة مع أول الدوال التي يقوم باستدعاءها من طرف الكائن DbContext لتحضير لمجتمع مناسب خاص بقاعدة البيانات،،
فمثلا يمكن استعمال أي نوع من قواعد البيانات MS Access ، Mysql، SQLite، MongoDB، Oracle DB،SQL SERVER
في حالتنا نوضح لهذه الدالة عن طريق الأمر UseSqlServer أننا سنستعمل قاعدة بيانات SQL واسمها LinkFlow،،
لكن للعلم هذا الاسم هو الذي قمنا باضافته في ملف Web.config ، أي أنه سيتم تصفح ملف Web.Config والبحث عن الاسم
LinkFlow ،، ثم قراءة مكان قاعدة البيانات،، التأكد من أنها من نوع SQL ثم الاتصال بها لأوامر مستقبلية،،
نعود الآن إلى Package manager
ثم نكتب الأمر Add-Migration والذي سيقوم بتحضير لنا مجلد Migration ويقوم باضافة فيه كائن شبه محضر
في حالتنا اسمه UsersAdding وهو الكائن المسؤول عن إنشاء جدول في قاعدة البيانات،،
وهذه هي النتيجة التي وصلنا إليها،،
هذا والحمد لله رب العالمين على التوفيق،،
السلام عليكم،،