ورود

View Full Version : مبتدی: مشکل در اتصال Mysql به ویژوال استودیو 2019



ehsan_kabiri_33
یک شنبه 20 بهمن 1398, 09:19 صبح
سلام و سپاس از همه عزیزان-
در حال یادگیری سی شارپ بوسیله IDE VS2019 هستم. در اموزش از sql server استفاده میکنه ولی من از Mysql (به دلاسل استفاده از سرور لینوکسی در اینده). به هر حال.
همین جوری با دستورات ADO میتونم به دیتا بیس وصل بشم . ( Mysql for visual studio 2019 - Mysql Connector 8.019) را نصب کرده ام و به دیتا بیس متصل میشوم.

سوال: موقع اضافه کردن ADO.NEt Entity Data Model فقط Entity FrameWork 5.0 فعال هست و ورژن 6 غیر فعال.
151347

در سایت
https://stackoverflow.com/questions/21206184/cant-use-a-mysql-connection-for-entity-framework-6
میگه از ورژن های پایین استفاده کنید ولی مشکل ورژن mysql for visual studio 1.1.3 این هست که دیگه حتی همون اتصال مرحله اول را هم از دست میدم. یعنی اصلا MySQL را نمیشناسه توی Tools چه برسه بخواد کانکت بشه !!


ممنون میشم اگه کسی با ورژن VS2019 تونسته این مشکل را حل کنه برای اتصال با MySQL از طریق EF6 یا همون ENTITY FRAMEWORK6

ehsan_kabiri_33
یک شنبه 20 بهمن 1398, 17:16 عصر
آقا جوابش پیدا کردم. ممنون


https://entityframework.net/knowledge-base/22031269/enable-entity-framework-6-for-mysql--csharp--in-winforms-of-microsoft-visual-studio-2013



فقط نکته داره این که ورژن MysqlConnetor باید با ورژن پکیج Nuget Mysql.Data.Entities یکسان باشه. من از کانکتور ورژن 6.8.3 استفاده کردم و پکیج های زیر با این ورژن ها را توسط نوگت به پروژه ام اصافه کردم تا مشکل حل شد:
EntityFramework // 6.4

Mysql.Data // 6.8.8

Mysql.Data.Entities // 6.8.3

Mysql.Web // 6.8.8

ehsan_kabiri_33
جمعه 05 اردیبهشت 1399, 14:51 عصر
سلام - برای اتصال /MariaDB/Mysql به پروژه MVC ASP.net Core 3 از طریق Entity framework core 3: در حالت DataBase First که دیتا بیس از قبل وجود دارد
لازم است
MysqlConnetor از ورژن 8.0.19 به بالا باشد تا از Core3 ساپورت کند.

سپس در هر پروژه جدیدی که ایجاد شد، دو پکیج نیوگت زیر را بیافزایید:

3.1 Microsoft.EntityFrameworkCore.Tools
Pomelo.EntityFrameworkCore.MySql 3.1
سپس در قسمت Package Manager Console کد زیر را وارد کنید. فقط نام دیتا بیس و سرور خود و یوزر و پسورد خود را ویرایش نمایید.

PM> scaffold-Dbcontext "server=localhost;userid=root;password=8787;
database=accounting_db;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models

ehsan_kabiri_33
جمعه 05 اردیبهشت 1399, 17:25 عصر
آموزش اتصال به دیتا بیس MySQL به شیوه CodeFirst در 3 ASP.NET Core توسط EF Core

فایل های Nuget زیر را به پروژه خود می افزاییم: باید Mysql Connector ورژن 8.0.19 و جدیدتر باشد.
Microsoft.EntityFrameworkCore.Tools 3.1.3
Pomelo.EntityFrameworkCore.MySql 3.1.1
سپس کلاس های مربوط به جداول در دیتابیس و کلاس DBContext را هم میسازیم. مانند مثال زیر :

class Course
{
public int CourseId { get; set; }
public string CourseName { get; set; }
}

class Student
{
public int StudentId { get; set; }
public string Name { get; set; }
}


class SchoolContext : DbContext
{
public DbSet<Student> Students { get; set; }
public DbSet<Course> Courses { get; set; }

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySql(@"Server=localhost;Database=SchoolDB;userid=root;pas sword=123");
}
}
سپس کد زیر را در قسمت نیوگت کنسول اجرا میکنیم: مواظب باشیم نام دیتا بیس جدید باشد و قبلا ساخته نشده باشد.
PM> add-migration CreateSchoolDB
PM> update-database –verbose
جداول مربوطه و فولدر Migration در Solution Explorer ساخته میشوند.
ازین به بعد هر موقع قصد ویرایش Domain Classes یا configurations را داشتیم، دیتا بیس را به کمک دو دستور
و add-migration update-database با مدل خود در پروژه هماهنگ میکنیم.