Browse Source

Merge pull request #6228 from abpframework/maliming/AsSplitQuery

Enabling split queries globally.
pull/6292/head
Halil İbrahim Kalkan 6 years ago
committed by GitHub
parent
commit
8d57ff7c04
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 14
      framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextMySQLExtensions.cs
  2. 1
      framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextOracleDevartExtensions.cs
  3. 1
      framework/src/Volo.Abp.EntityFrameworkCore.Oracle/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextOracleExtensions.cs
  4. 12
      framework/src/Volo.Abp.EntityFrameworkCore.PostgreSql/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextPostgreSqlExtensions.cs
  5. 12
      framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextSqlServerExtensions.cs
  6. 12
      framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextSqliteExtensions.cs
  7. 1
      modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/AbpAuditLoggingEfCoreQueryableExtensions.cs
  8. 1
      modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityEfCoreQueryableExtensions.cs
  9. 2
      modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/AbpIdentityServerEfCoreQueryableExtensions.cs

14
framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextMySQLExtensions.cs

@ -14,11 +14,21 @@ namespace Volo.Abp.EntityFrameworkCore
{ {
if (context.ExistingConnection != null) if (context.ExistingConnection != null)
{ {
return context.DbContextOptions.UseMySql(context.ExistingConnection, ServerVersion.AutoDetect(context.ConnectionString), mySQLOptionsAction); return context.DbContextOptions.UseMySql(context.ExistingConnection,
ServerVersion.AutoDetect(context.ConnectionString), optionsBuilder =>
{
optionsBuilder.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
mySQLOptionsAction?.Invoke(optionsBuilder);
});
} }
else else
{ {
return context.DbContextOptions.UseMySql(context.ConnectionString, ServerVersion.AutoDetect(context.ConnectionString), mySQLOptionsAction); return context.DbContextOptions.UseMySql(context.ConnectionString,
ServerVersion.AutoDetect(context.ConnectionString), optionsBuilder =>
{
optionsBuilder.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
mySQLOptionsAction?.Invoke(optionsBuilder);
});
} }
} }
} }

1
framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextOracleDevartExtensions.cs

@ -13,6 +13,7 @@
// [CanBeNull] Action<OracleDbContextOptionsBuilder> oracleOptionsAction = null, // [CanBeNull] Action<OracleDbContextOptionsBuilder> oracleOptionsAction = null,
// bool useExistingConnectionIfAvailable = false) // bool useExistingConnectionIfAvailable = false)
// { // {
// TODO: UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
// if (useExistingConnectionIfAvailable && context.ExistingConnection != null) // if (useExistingConnectionIfAvailable && context.ExistingConnection != null)
// { // {
// return context.DbContextOptions.UseOracle(context.ExistingConnection, oracleOptionsAction); // return context.DbContextOptions.UseOracle(context.ExistingConnection, oracleOptionsAction);

1
framework/src/Volo.Abp.EntityFrameworkCore.Oracle/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextOracleExtensions.cs

@ -12,6 +12,7 @@
// [NotNull] this AbpDbContextConfigurationContext context, // [NotNull] this AbpDbContextConfigurationContext context,
// [CanBeNull] Action<OracleDbContextOptionsBuilder> oracleOptionsAction = null) // [CanBeNull] Action<OracleDbContextOptionsBuilder> oracleOptionsAction = null)
// { // {
// TODO: UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
// if (context.ExistingConnection != null) // if (context.ExistingConnection != null)
// { // {
// return context.DbContextOptions.UseOracle(context.ExistingConnection, oracleOptionsAction); // return context.DbContextOptions.UseOracle(context.ExistingConnection, oracleOptionsAction);

12
framework/src/Volo.Abp.EntityFrameworkCore.PostgreSql/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextPostgreSqlExtensions.cs

@ -22,11 +22,19 @@ namespace Volo.Abp.EntityFrameworkCore
{ {
if (context.ExistingConnection != null) if (context.ExistingConnection != null)
{ {
return context.DbContextOptions.UseNpgsql(context.ExistingConnection, postgreSqlOptionsAction); return context.DbContextOptions.UseNpgsql(context.ExistingConnection, optionsBuilder =>
{
optionsBuilder.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
postgreSqlOptionsAction?.Invoke(optionsBuilder);
});
} }
else else
{ {
return context.DbContextOptions.UseNpgsql(context.ConnectionString, postgreSqlOptionsAction); return context.DbContextOptions.UseNpgsql(context.ConnectionString, optionsBuilder =>
{
optionsBuilder.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
postgreSqlOptionsAction?.Invoke(optionsBuilder);
});
} }
} }
} }

12
framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextSqlServerExtensions.cs

@ -14,11 +14,19 @@ namespace Volo.Abp.EntityFrameworkCore
{ {
if (context.ExistingConnection != null) if (context.ExistingConnection != null)
{ {
return context.DbContextOptions.UseSqlServer(context.ExistingConnection, sqlServerOptionsAction); return context.DbContextOptions.UseSqlServer(context.ExistingConnection, optionsBuilder =>
{
optionsBuilder.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
sqlServerOptionsAction?.Invoke(optionsBuilder);
});
} }
else else
{ {
return context.DbContextOptions.UseSqlServer(context.ConnectionString, sqlServerOptionsAction); return context.DbContextOptions.UseSqlServer(context.ConnectionString, optionsBuilder =>
{
optionsBuilder.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
sqlServerOptionsAction?.Invoke(optionsBuilder);
});
} }
} }
} }

12
framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextSqliteExtensions.cs

@ -14,11 +14,19 @@ namespace Volo.Abp.EntityFrameworkCore
{ {
if (context.ExistingConnection != null) if (context.ExistingConnection != null)
{ {
return context.DbContextOptions.UseSqlite(context.ExistingConnection, sqliteOptionsAction); return context.DbContextOptions.UseSqlite(context.ExistingConnection, optionsBuilder =>
{
optionsBuilder.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
sqliteOptionsAction?.Invoke(optionsBuilder);
});
} }
else else
{ {
return context.DbContextOptions.UseSqlite(context.ConnectionString, sqliteOptionsAction); return context.DbContextOptions.UseSqlite(context.ConnectionString, optionsBuilder =>
{
optionsBuilder.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
sqliteOptionsAction?.Invoke(optionsBuilder);
});
} }
} }
} }

1
modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/AbpAuditLoggingEfCoreQueryableExtensions.cs

@ -15,7 +15,6 @@ namespace Volo.Abp.AuditLogging
} }
return queryable return queryable
.AsSplitQuery()
.Include(x => x.Actions) .Include(x => x.Actions)
.Include(x => x.EntityChanges).ThenInclude(ec=>ec.PropertyChanges); .Include(x => x.EntityChanges).ThenInclude(ec=>ec.PropertyChanges);
} }

1
modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityEfCoreQueryableExtensions.cs

@ -13,7 +13,6 @@ namespace Volo.Abp.Identity.EntityFrameworkCore
} }
return queryable return queryable
.AsSplitQuery()
.Include(x => x.Roles) .Include(x => x.Roles)
.Include(x => x.Logins) .Include(x => x.Logins)
.Include(x => x.Claims) .Include(x => x.Claims)

2
modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/AbpIdentityServerEfCoreQueryableExtensions.cs

@ -17,7 +17,6 @@ namespace Volo.Abp.IdentityServer
} }
return queryable return queryable
.AsSplitQuery()
.Include(x => x.Secrets) .Include(x => x.Secrets)
.Include(x => x.UserClaims) .Include(x => x.UserClaims)
.Include(x => x.Scopes) .Include(x => x.Scopes)
@ -57,7 +56,6 @@ namespace Volo.Abp.IdentityServer
} }
return queryable return queryable
.AsSplitQuery()
.Include(x => x.AllowedGrantTypes) .Include(x => x.AllowedGrantTypes)
.Include(x => x.RedirectUris) .Include(x => x.RedirectUris)
.Include(x => x.PostLogoutRedirectUris) .Include(x => x.PostLogoutRedirectUris)

Loading…
Cancel
Save