ASP.NET Core 1.0 使用 MySQL for EF Core 1.0 (.NET Core 1.0)


經過多天的項目設計實踐,本來都幾乎放棄使用 MySQL 去使用 MSSQL ,但幾經周折還是在找到了在 .NET Core 中使用 MySQL 數據庫的方法(官方的進度不敢恭維,現使用的是第三方庫),在此分享一下。

添加引用 Pomelo.EntityFrameworkCore.MySql ,使用 1.0.0 版本即可。

2016/7/27 nele :這不是國外的,是國內的。https://github.com/PomeloFoundation,柚子基金會是微軟mvp 鄭逸笙創建的用於宣傳.net core技術,其中已經開源了很多項目或者框架。

2016/8/8 該庫已經可以在 NuGet 中下載了。

最后以往 Core First 該怎么用現在就怎么用。

以下附上我的示例:

 1 public void ConfigureServices(IServiceCollection services)
 2         {
 3 
 4             // Add framework services.
 5             services.AddMvc();
 6 
 7             services.AddDbContext<DBContext>(options => options.UseMySql(Option.EntityContextSql));  8 
 9             services.Configure<Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions>(option =>
10             {
11                 option.UseHttps(Path.Combine(new DirectoryInfo(Directory.GetCurrentDirectory()).FullName, "cret.pfx"), "pw");
12             });
13         }
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace DB
{
    public class DBContext : DbContext
    {
        public DBContext(DbContextOptions<DBContext> options): base(options)
        {
        }

       //省略實體定義

        private static readonly IServiceProvider _serviceProvider = new ServiceCollection().AddEntityFrameworkMySql().BuildServiceProvider(); protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); optionsBuilder.UseInternalServiceProvider(_serviceProvider).UseMySql(Option.EntityContextSql); } protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
        }

    }
}
1         public static string EntityContextSql
2         {
3             get
4             {
5                 return string.Format("Data Source={0};port={1};user id={2};password={3};database={4};Charset=utf8;", EntityConfig.dataSource, EntityConfig.port, EntityConfig.id, EntityConfig.pw, EntityConfig.db);
6             }
7         }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM