標籤: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