1. 程式人生 > >.NetCore中EFCore for MySql整理

.NetCore中EFCore for MySql整理

tar urn work option netcore .com 指定 all fig

一、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整理