.NetCore教程之 EFCore鏈接Mysql DBFirst模式

一:建立EF的類庫,同時將此項目設置爲啓動項(爲Scaffold-DbContext -tables指令使用),同時安裝2個包  mysql

            ①Microsoft.EntityFrameworkCore.Toolsweb

            ②Pomelo.EntityFrameworkCore.MySql (這個是第三方的ef mysql 中間件)sql

例如:數據庫

            

 

 

二:生成數據庫的實體和EF的DBcontext對象,用到的是 Scaffold-DBcontext命令json

            在程序包控制檯輸入如下命令cookie

                      Scaffold-DbContext -Force  "Server=****;User Id=root;Password=****;Database=****" -Provider "Pomelo.EntityFrameworkCore.MySql"app

                      server:數據庫地址,User Id:帳號,Password:登陸密碼ide

                     若是是針對單表的更新,加一個-Tables 後面是要更新的表名spa

                     Scaffold-DbContext -Force  "Server=****;User Id=root;Password=****;Database=****" -Provider "Pomelo.EntityFrameworkCore.MySql"  -Tables "myTable"3d

                     執行完成以後會生成指定的是Model ,注意:表必須有主鍵,纔會生成,若是沒有主機會報 Unable to generate entity type for table 「xxxx」 警告,固然實體也不會生成

                     出現的問題:若是有表字段爲 datetime類型的,生成的時候會報錯 應輸入標識符,處理方法:把.()去掉。此問題若是有大神看到幫忙解答下

                          

 

            例如:

           

 

 

三:建立標準的web應用,進行使用

       ①在appsettings.json配置數據庫的地址信息,注意  SslModel=none例如

 "MySqlConnection": "Database='***';Data Source=****;User ID=***;Password=***;CharSet=utf8;SslMode=None"

 

       ② 在startup.cs 配置注入,其中有用到一些引用 順手引用一下

    

 public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            //ef mysql 配置
            services.AddDbContext<drewtestContext>(options => options.UseMySql(Configuration.GetConnectionString("MySqlConnection")));

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }

  ③以後就是標準的調用,例如在控制器中的使用

     

 public class HomeController : Controller
    {
        drewtestContext _content;
        public HomeController(drewtestContext context)
        {
            _content = context;
        }

        public IActionResult Index()
        {
            List<SctonlyHome> list_sctonlyHomes = _content.SctonlyHome.ToList();
            return View();
        }
    }

到此就是基礎的EF core mysql入門配置了。

 

 

----再牛逼的夢想,也抵不住我傻逼似的堅持!別在該奮鬥的年紀,貪圖安逸。 今天多學一點,明天的路更寬!

相關文章
相關標籤/搜索