如何使用 MySQL EntityFramework 組件處理 MYSQL PaaS DB

來源:互聯網
上載者:User

標籤:json   string   ati   上推   extern   結果   技術分享   deb   user   

MySQL Database on Azure 是 Azure 平台上推出的 MySQL 雲資料庫服務,通過全面相容 MySQL 協議,為使用者提供了一個全託管的效能穩定、可快速部署、高可用、高安全性的資料庫服務。客戶可以使用常見的支援 MySQL 的平台與技術進行開發與整合。本文示範了如何使用 MySQL EntityFramework 組件對 MySQL PaaS DB 進行操作。

系統內容 / 應用程式資訊

ASP.NET 2005 Core / MYSQL EntityFrameWork Core

詳細代碼

在 VS 2015 Net Core 的環境中,安裝 EntityFrameWork Core 組件,代碼和測試後結果如下:

其中 Data1Context.cs 檔案為:

using Microsoft.EntityFrameworkCore;using MySQL.Data.EntityFrameworkCore.Extensions;namespace ConsoleApp1{    /// <summary>    /// The entity framework context with a data1 DbSet    /// </summary>    public class Data1Context : DbContext    {        public Data1Context(DbContextOptions<Data1Context> options)        : base(options)        { }        public DbSet<Data1> Data1 { get; set; }    }    /// <summary>    /// Factory class for EmployeesContext    /// </summary>    public static class Data1ContextFactory    {        public static Data1Context Create(string connectionString)        {            var optionsBuilder = new DbContextOptionsBuilder<Data1Context>();            optionsBuilder.UseMySQL(connectionString);            //Ensure database creation            var context = new Data1Context(optionsBuilder.Options);            context.Database.EnsureCreated();            return context;        }    }    /// <summary>    /// A basic class for an Employee    /// </summary>    public class Data1    {        public int Id { get; set; }        public string Name1 { get; set; }    }}

 

Program.cs 檔案為:

using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using Microsoft.Extensions.Configuration;namespace ConsoleApp1{    public class Program    {        public static void Main(string[] args)        {            var builder = new ConfigurationBuilder().AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);            var configuration = builder.Build();            string connectionString = configuration.GetConnectionString("SampleConnection");            // Create an employee instance and save the entity to the database            var entry = new Data1() { Id = 3, Name1 = "XingBing" };            using (var context = Data1ContextFactory.Create(connectionString))            {                context.Add(entry);                context.SaveChanges();            }            Console.WriteLine($"Data1 was saved in the database with id: {entry.Id}");            Console.ReadKey();        }    }}

 

appsettings.json 檔案為:

{    "ConnectionStrings": {        "SampleConnection": "server=XXXXXX.mysqldb.chinacloudapi.cn;userid=XXXXXX%YYYYYY;pwd=XXXXXXXXX;port=3306;database=xyudb;sslmode=none;"    }}

 

project.json 檔案為:

{    "version": "1.0.0-*",    "buildOptions": {        "debugType": "portable",        "emitEntryPoint": true,        "copyToOutput": {        "include": "appsettings.json"        }    },    "dependencies": {        "Microsoft.Extensions.Configuration": "1.0.0",        "Microsoft.Extensions.Configuration.Json": "1.0.0",        "Microsoft.EntityFrameworkCore": "1.0.0",        "MySql.Data.Core": "7.0.4-IR-191",        "MySql.Data.EntityFrameworkCore": "7.0.4-IR-191"    },    "frameworks": {        "netcoreapp1.0": {            "dependencies": {                "Microsoft.NETCore.App": {                "type": "platform",                "version": "1.0.0"                }            },            "imports": [                "dnxcore50",                "portable-net452+win81"            ]        }    }}

 

項目組成

運行及測試結果

組件地址

MySql.Data.EntityFrameworkCore 7.0.7-m61

參考方法

MySQL EF Core provider and Connector/Net 7.0.4 入門教程

 

更多精彩幹活 請點擊查看

歡迎有興趣的朋友多多交流

A究院研究生 [email protected]

如何使用 MySQL EntityFramework 組件處理 MYSQL PaaS DB

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.