首页 > 代码库 > .NetCore中EFCore for MySql整理

.NetCore中EFCore for MySql整理

一、MySql官方提供了Ef Core对MySql的支持,但现在还处于预览版

Install-Package MySql.Data.EntityFrameworkCore -Pre
Install-Package MySql.Data.EntityFrameworkCore.Design -Pre

当前程序包依赖Microsoft.EntityFrameworkCore,目前没找到API文档啥的,MySql.Data.EntityFrameworkCore.Design的用法也没 找到。

Nuget包地址 :https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/7.0.7-m61

https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore.Design/6.10.1-beta

技术分享

二、简单使用示例

1.手写数据库上下文

/// <summary>
/// 数据库上下文
/// </summary>
public class Md5Context : DbContext
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseMySQL("server=127.0.0.1;port=3306;database=md5data;uid=sa;pwd=123;");
    }
    public virtual DbSet<Md5Data> Md5Data { get; set; }
}

2.手写实体数据库映射,Model

[Table("Md5Data")] //当前预览版中Table指定名称还不支持
public class Md5Data
{
    [Key]
    public int DataID { get; set; }

    public string PlainText { get; set; }
    public string UpperCase32 { get; set; }

    public string UpperCase16 { get; set; }

    public int DencryptCount { get; set; }

    public int EncryptCount { get; set; }

    public DateTime AddTime { get; set; }
}

3.调试运行

    Md5Context _Context = new Md5Context();
    List<Md5Data> list = _Context.Md5Data.ToList();

    return list.Select(q => q.PlainText).ToList();

技术分享

三、说明

1.

这里需要注意了:

public DbSet<Blog> blog { get; set; }

如果mysql里的表名blog是小写的,这里就要定义成跟表名完全一样,否则会报错

2.Table() 表名的注释,目前还不支持。

 

更多:

Asp.Net Core WebAPI入门整理(三)跨域处理

Asp.Net Core WebAPI入门整理(二)简单示例

Asp.Net Core中Json序列化处理整理

.NetCore中EFCore for MySql整理