همانطور که همه میدانیم، تعداد RDBMS های زیادی جهت ذخیره سازی داده ها وجود دارد و به دلیل طبیعت ماکروسافتی ASP.NET و کلا دات نت ، اکثر ما استفاده از SQL Server را به همه چیز ترجیح میدهیم. نکته اینجاست که انتخاب غلطی هم نداشته ایم و تابحال ضرر هم نکرده ایم، ولی مواردی هست که شاید نتوان به سراغ SQL Server رفت. مثلا در یک پروژه اگر دیتابیس قبلا آماده شده باشد، یا به دلیل هزینه های بالای خرید لایسنس، کارفرما شما را مجبور به استفاده از دیتابیس دیگری مانند MySQL بنماید.
بسمه تعالی
طریقه استفاده از MySQL در .NET Core از طریق Entity Frame Work
همانطور که همه میدانیم، تعداد RDBMS های زیادی جهت ذخیره سازی داده ها وجود دارد و به دلیل طبیعت ماکروسافتی ASP.NET و کلا دات نت ، اکثر ما استفاده از SQL Server را به همه چیز ترجیح میدهیم. نکته اینجاست که انتخاب غلطی هم نداشته ایم و تابحال ضرر هم نکرده ایم، ولی مواردی هست که شاید نتوان به سراغ SQL Server رفت. مثلا در یک پروژه اگر دیتابیس قبلا آماده شده باشد، یا به دلیل هزینه های بالای خرید لایسنس، کارفرما شما را مجبور به استفاده از دیتابیس دیگری مانند MySQL بنماید.
استفاده از MySQL در ASP.NET WebForm یا ASP.NET MVC تا نسخه 5 زیاد موضوع جدید نیست و تقریبا همه با روشهای آن آشنایی دارند، ولی در MVC Core شاید اندکی سبب سردرگمی گردد. برای روشن شدن این موضوع هم فقط کافی است این مقاله را با دقت بخوانید تا با روش درست انجام اینکار آشنا شوید.
نکته : در این مقاله قرار است از .NET Core جهت توسعه و از Entity FrameWork به عنوان ORM استفاده کنیم و همانطور که اشاره شد، MySQL به عنوان RDBMS در این پروژه نقش دیتابیس را بازی خواهد کرد.
در ابتدا باید بدانید که هنوز EF Core هیچ نسخه رسمی برای پشتیبانی از MySQL ارائه ننموده و در این پروژه از SapientGuardian.EntityFrameworkCore.MySql استفاده خواهیم نمود. این بسته در Nuget هم حتی موجود است و به آسانی قابل استفاده خواهد بود.
بهتر است برای استفاده از این Package به سراغ Edit کردن فایل project.json برویم.
خوب حالا باید EfCore DbContext را مانند دیگر Context ها به پروژه اضافه نمود. این فایل را به صورت کامل جهت دانلود در پایان مقاله میتوانید داشته باشید.
حال باید Startup Class را هم تنظیم و DbContext را به آن معرفی نماییم.
برای در اختیار داشتن Connection String هم باید به سراغ Config.Json رفته و به شکل زیر عمل کنیم.
حالا کافی است در MySQL فقط User لازمه را ایجاد کنید. برای اینکار MySQL Work Bench را پیشنهاد میکنیم.
با دستورات بالا باید مراحل Migration را به اتمام رسانید.
قاعدتا الان به یک Controller نیاز داریم که به شکل زیر ایجاد خواهد گردید. فایل به صورت کامل برای دانلود در اختیارتان خواهد بود.