• 【数据库-MySQL on Azure】如何使用 MySQL EntityFramework 组件处理 MYSQL PaaS DB


    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"
                ]
            }
        }
    }
    

    项目组成

    solutions

    运行及测试结果

    console

    grid

    组件地址

    MySql.Data.EntityFrameworkCore 7.0.7-m61

    参考方法

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

    立即访问http://market.azure.cn

  • 相关阅读:
    CodeForces 453A Little Pony and Expected Maximum
    bzoj1415[NOI2005]聪聪和可可-期望的线性性
    记lrd的高二上学期第五次调研考试
    bzoj4443[SCOI2015]小凸玩矩阵
    bzoj1415[NOI2005]聪聪和可可
    bzoj2702[SDOI2012]走迷宫
    connectionstrings-MYSQL
    connectionstrings-oracle
    connectionstrings-sql server 2012
    sqlserver存储过程中SELECT 与 SET 对变量赋值的区别[转]
  • 原文地址:https://www.cnblogs.com/zangdalei/p/7427999.html
Copyright © 2020-2023  润新知