C# 之 EF CodeFirst创建MySQL数据库

        MySQL安装好了,今天跟大家交流一下怎么利用EntityFramework的CodeFirst在MySQL数据库中创建数据库


目标框架:.NET Framework 4


第一步:新建一个项目,然后添加如下的引用,这些引用可以在NuGet中添加,也可以到官网中下载然后添加

技术分享


第二步:在配置文件中添加数据库节点配置

<span style="font-family:Arial;font-size:10px;"><?xml version="1.0"?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    </startup>
   <connectionStrings>
    <add name="conncodefirst" connectionString="server=192.168.24.184;port=3306;uid=root;pwd=123456;database=code" providerName="MySql.Data.MySqlClient"/>
  </connectionStrings>
</configuration></span>

第三步:
我们编写实体类

<span style="font-family:Arial;font-size:10px;">using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;

namespace codeFIrst4
{
    //顾客类
    public class customer
    {
        [Key]
        //顾客id
        public string id { get; set; }
        //顾客姓名
        public string cusName { get; set; }
    }
    
}</span>


第四步:编写数据库上下文

<span style="font-family:Arial;font-size:10px;">using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;

namespace codeFIrst4
{
    //数据库上下文
    public class HotelDBContext:DbContext
    {
        public HotelDBContext()
            : base("name=conncodefirst")
        { 
        }

        public DbSet<customer> Customer { get; set; }
    }
}</span>


第五步:
编写创建数据库代码

<span style="font-family:Arial;font-size:10px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace codeFIrst4
{
    class Program
    {
        static void Main(string[] args)
        {
            HotelDBContext dbCOntext = new HotelDBContext();
            bool flag=dbCOntext.Database.CreateIfNotExists();

            if (flag==true)
            {
                Console.WriteLine("MySQL数据库创建成功!");
            }
            else
            {
                Console.WriteLine("MySQL数据库创建失败!");
            }

        }
    }
}</span>

技术分享

技术分享


        通过上面简单的交流,我想大家都应该明白怎么用CodeFirst来创建一个MySQL数据库了,一开始学习EF的时候,我们都是在SQL Server数据库中建立映射,那么MySQL数据库和SQL Server数据库的区别在哪里呢?第一点:引用不同,MySQL需要引用MySql.Data;第二点:配置文件中的数据库节点配置不同。除了以上的两点,其他地方都差不多。


        




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。