From 903fc294b49da5f2124bdbf2a9524a548454fb03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=95=AC=E6=B4=AA=E6=B3=A2?= Date: Mon, 2 Jul 2018 20:45:14 +0800 Subject: [PATCH 1/4] add Volo.Abp.EntityFrameworkCore.MySQL --- framework/Volo.Abp.sln | 11 +++++-- .../Volo.Abp.EntityFrameworkCore.MySQL.csproj | 16 ++++++++++ ...textConfigurationContextMySQLExtensions.cs | 27 ++++++++++++++++ .../AbpDbContextOptionsMySqlExtensions.cs | 32 +++++++++++++++++++ .../AbpEntityFrameworkCoreMySQLModule.cs | 16 ++++++++++ 5 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo.Abp.EntityFrameworkCore.MySQL.csproj create mode 100644 framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextMySQLExtensions.cs create mode 100644 framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySqlExtensions.cs create mode 100644 framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/MySQL/AbpEntityFrameworkCoreMySQLModule.cs diff --git a/framework/Volo.Abp.sln b/framework/Volo.Abp.sln index a4dbe71987..2e5f3c9818 100644 --- a/framework/Volo.Abp.sln +++ b/framework/Volo.Abp.sln @@ -188,9 +188,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Emailing", "src\Vo EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Sms", "src\Volo.Abp.Sms\Volo.Abp.Sms.csproj", "{8BB10746-8BAD-4317-8EE5-A36805DB93F6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Mvc.UI.Bundling", "src\Volo.Abp.AspNetCore.Mvc.UI.Bundling\Volo.Abp.AspNetCore.Mvc.UI.Bundling.csproj", "{EC71FBDD-A6BD-4B5D-92FE-E108FE12CE8B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.UI.Bundling", "src\Volo.Abp.AspNetCore.Mvc.UI.Bundling\Volo.Abp.AspNetCore.Mvc.UI.Bundling.csproj", "{EC71FBDD-A6BD-4B5D-92FE-E108FE12CE8B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Mvc.UI.Packages", "src\Volo.Abp.AspNetCore.Mvc.UI.Packages\Volo.Abp.AspNetCore.Mvc.UI.Packages.csproj", "{CAE68246-70A8-4E87-9B83-A9F7DA343E5E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.UI.Packages", "src\Volo.Abp.AspNetCore.Mvc.UI.Packages\Volo.Abp.AspNetCore.Mvc.UI.Packages.csproj", "{CAE68246-70A8-4E87-9B83-A9F7DA343E5E}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.EntityFrameworkCore.MySQL", "src\Volo.Abp.EntityFrameworkCore.MySQL\Volo.Abp.EntityFrameworkCore.MySQL.csproj", "{27C120C9-F618-4C1D-B959-8D0B048D0835}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -538,6 +540,10 @@ Global {CAE68246-70A8-4E87-9B83-A9F7DA343E5E}.Debug|Any CPU.Build.0 = Debug|Any CPU {CAE68246-70A8-4E87-9B83-A9F7DA343E5E}.Release|Any CPU.ActiveCfg = Release|Any CPU {CAE68246-70A8-4E87-9B83-A9F7DA343E5E}.Release|Any CPU.Build.0 = Release|Any CPU + {27C120C9-F618-4C1D-B959-8D0B048D0835}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {27C120C9-F618-4C1D-B959-8D0B048D0835}.Debug|Any CPU.Build.0 = Debug|Any CPU + {27C120C9-F618-4C1D-B959-8D0B048D0835}.Release|Any CPU.ActiveCfg = Release|Any CPU + {27C120C9-F618-4C1D-B959-8D0B048D0835}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -630,6 +636,7 @@ Global {8BB10746-8BAD-4317-8EE5-A36805DB93F6} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} {EC71FBDD-A6BD-4B5D-92FE-E108FE12CE8B} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} {CAE68246-70A8-4E87-9B83-A9F7DA343E5E} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} + {27C120C9-F618-4C1D-B959-8D0B048D0835} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5} diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo.Abp.EntityFrameworkCore.MySQL.csproj b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo.Abp.EntityFrameworkCore.MySQL.csproj new file mode 100644 index 0000000000..8941a2fc7c --- /dev/null +++ b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo.Abp.EntityFrameworkCore.MySQL.csproj @@ -0,0 +1,16 @@ + + + + netstandard2.0 + + + + + + + + + + + + diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextMySQLExtensions.cs b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextMySQLExtensions.cs new file mode 100644 index 0000000000..f51dbfa2f5 --- /dev/null +++ b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextMySQLExtensions.cs @@ -0,0 +1,27 @@ +using JetBrains.Annotations; +using Microsoft.EntityFrameworkCore; +using MySql.Data.EntityFrameworkCore.Infraestructure; +using System; +using System.Collections.Generic; +using System.Text; +using Volo.Abp.EntityFrameworkCore.DependencyInjection; + +namespace Volo.Abp.EntityFrameworkCore +{ + public static class AbpDbContextConfigurationContextMySQLExtensions + { + public static DbContextOptionsBuilder UseMySQL( + [NotNull] this AbpDbContextConfigurationContext context, + [CanBeNull] Action mySQLOptionsAction = null) + { + if (context.ExistingConnection != null) + { + return context.DbContextOptions.UseMySQL(context.ExistingConnection, mySQLOptionsAction); + } + else + { + return context.DbContextOptions.UseMySQL(context.ConnectionString, mySQLOptionsAction); + } + } + } +} diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySqlExtensions.cs b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySqlExtensions.cs new file mode 100644 index 0000000000..9748e21c42 --- /dev/null +++ b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySqlExtensions.cs @@ -0,0 +1,32 @@ +using JetBrains.Annotations; +using MySql.Data.EntityFrameworkCore.Infraestructure; +using System; +using System.Collections.Generic; +using System.Text; + +namespace Volo.Abp.EntityFrameworkCore +{ + public static class AbpDbContextOptionsMySqlExtensions + { + public static void UseMySql( + [NotNull] this AbpDbContextOptions options, + [CanBeNull] Action mySQLOptionsAction = null) + { + options.Configure(context => + { + context.UseMySQL(mySQLOptionsAction); + }); + } + + public static void UseMySQL( + [NotNull] this AbpDbContextOptions options, + [CanBeNull] Action mySQLOptionsAction = null) + where TDbContext : AbpDbContext + { + options.Configure(context => + { + context.UseMySQL(mySQLOptionsAction); + }); + } + } +} diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/MySQL/AbpEntityFrameworkCoreMySQLModule.cs b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/MySQL/AbpEntityFrameworkCoreMySQLModule.cs new file mode 100644 index 0000000000..0de2391bd6 --- /dev/null +++ b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/MySQL/AbpEntityFrameworkCoreMySQLModule.cs @@ -0,0 +1,16 @@ +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Modularity; + +namespace Volo.Abp.EntityFrameworkCore.MySQL +{ + [DependsOn( + typeof(AbpEntityFrameworkCoreModule) + )] + public class AbpEntityFrameworkCoreMySQLModule : AbpModule + { + public override void ConfigureServices(IServiceCollection services) + { + services.AddAssemblyOf(); + } + } +} From 6cfb52dd4be78fc22865df1479c136c089153786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=95=AC=E6=B4=AA=E6=B3=A2?= Date: Mon, 2 Jul 2018 21:01:29 +0800 Subject: [PATCH 2/4] Change MySql To MySQL --- .../EntityFrameworkCore/AbpDbContextOptionsMySqlExtensions.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySqlExtensions.cs b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySqlExtensions.cs index 9748e21c42..e0bf49f969 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySqlExtensions.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySqlExtensions.cs @@ -6,9 +6,9 @@ using System.Text; namespace Volo.Abp.EntityFrameworkCore { - public static class AbpDbContextOptionsMySqlExtensions + public static class AbpDbContextOptionsMySQLExtensions { - public static void UseMySql( + public static void UseMySQL( [NotNull] this AbpDbContextOptions options, [CanBeNull] Action mySQLOptionsAction = null) { From bc28c4e84a62469f5f8c8409d541532609a88199 Mon Sep 17 00:00:00 2001 From: jinghongbo Date: Mon, 2 Jul 2018 21:03:38 +0800 Subject: [PATCH 3/4] Rename AbpDbContextOptionsMySqlExtensions.cs to AbpDbContextOptionsMySQLExtensions.cs --- ...nsMySqlExtensions.cs => AbpDbContextOptionsMySQLExtensions.cs} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/{AbpDbContextOptionsMySqlExtensions.cs => AbpDbContextOptionsMySQLExtensions.cs} (100%) diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySqlExtensions.cs b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySQLExtensions.cs similarity index 100% rename from framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySqlExtensions.cs rename to framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySQLExtensions.cs From dc97a96cca8be472fb1ab42733f2ef935250db22 Mon Sep 17 00:00:00 2001 From: jinghongbo Date: Tue, 3 Jul 2018 09:37:17 +0800 Subject: [PATCH 4/4] Update Volo.Abp.EntityFrameworkCore.MySQL.csproj --- .../Volo.Abp.EntityFrameworkCore.MySQL.csproj | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo.Abp.EntityFrameworkCore.MySQL.csproj b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo.Abp.EntityFrameworkCore.MySQL.csproj index 8941a2fc7c..4eeecef3b1 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo.Abp.EntityFrameworkCore.MySQL.csproj +++ b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo.Abp.EntityFrameworkCore.MySQL.csproj @@ -1,16 +1,24 @@  - + + + netstandard2.0 - + Volo.Abp.EntityFrameworkCore.MySQL + Volo.Abp.EntityFrameworkCore.MySQL + $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + false + false + false + - + - + - + - +