Browse Source

Added DisableObsoleteDbContextCreationWarning to disable warning.

pull/7114/head
Halil İbrahim Kalkan 6 years ago
parent
commit
f5bd8f7681
  1. 15
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Uow/EntityFrameworkCore/UnitOfWorkDbContextProvider.cs
  2. 15
      framework/src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDbContextProvider.cs
  3. 18
      framework/src/Volo.Abp.Threading/Volo/Abp/Threading/AsyncLocalSimpleScopeExtensions.cs
  4. 3
      framework/src/Volo.Abp.Uow/Volo/Abp/Uow/UnitOfWork.cs

15
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Uow/EntityFrameworkCore/UnitOfWorkDbContextProvider.cs

@ -39,12 +39,15 @@ namespace Volo.Abp.Uow.EntityFrameworkCore
[Obsolete("Use GetDbContextAsync method.")]
public TDbContext GetDbContext()
{
Logger.LogWarning(
"UnitOfWorkDbContextProvider.GetDbContext is deprecated. Use GetDbContextAsync instead! " +
"You are probably using LINQ (LINQ extensions) directly on a repository. In this case, use repository.GetQueryableAsync() method " +
"to obtain an IQueryable<T> instance and use LINQ (LINQ extensions) on this object. "
);
Logger.LogWarning(Environment.StackTrace.Truncate(2048));
if (!UnitOfWork.DisableObsoleteDbContextCreationWarning.Value)
{
Logger.LogWarning(
"UnitOfWorkDbContextProvider.GetDbContext is deprecated. Use GetDbContextAsync instead! " +
"You are probably using LINQ (LINQ extensions) directly on a repository. In this case, use repository.GetQueryableAsync() method " +
"to obtain an IQueryable<T> instance and use LINQ (LINQ extensions) on this object. "
);
Logger.LogWarning(Environment.StackTrace.Truncate(2048));
}
var unitOfWork = _unitOfWorkManager.Current;
if (unitOfWork == null)

15
framework/src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDbContextProvider.cs

@ -36,12 +36,15 @@ namespace Volo.Abp.Uow.MongoDB
[Obsolete("Use CreateDbContextAsync")]
public TMongoDbContext GetDbContext()
{
Logger.LogWarning(
"UnitOfWorkDbContextProvider.GetDbContext is deprecated. Use GetDbContextAsync instead! " +
"You are probably using LINQ (LINQ extensions) directly on a repository. In this case, use repository.GetQueryableAsync() method " +
"to obtain an IQueryable<T> instance and use LINQ (LINQ extensions) on this object. "
);
Logger.LogWarning(Environment.StackTrace.Truncate(2048));
if (!UnitOfWork.DisableObsoleteDbContextCreationWarning.Value)
{
Logger.LogWarning(
"UnitOfWorkDbContextProvider.GetDbContext is deprecated. Use GetDbContextAsync instead! " +
"You are probably using LINQ (LINQ extensions) directly on a repository. In this case, use repository.GetQueryableAsync() method " +
"to obtain an IQueryable<T> instance and use LINQ (LINQ extensions) on this object. "
);
Logger.LogWarning(Environment.StackTrace.Truncate(2048));
}
var unitOfWork = _unitOfWorkManager.Current;
if (unitOfWork == null)

18
framework/src/Volo.Abp.Threading/Volo/Abp/Threading/AsyncLocalSimpleScopeExtensions.cs

@ -0,0 +1,18 @@
using System;
using System.Threading;
namespace Volo.Abp.Threading
{
public static class AsyncLocalSimpleScopeExtensions
{
public static IDisposable SetScoped<T>(this AsyncLocal<T> asyncLocal, T value)
{
var previousValue = asyncLocal.Value;
asyncLocal.Value = value;
return new DisposeAction(() =>
{
asyncLocal.Value = previousValue;
});
}
}
}

3
framework/src/Volo.Abp.Uow/Volo/Abp/Uow/UnitOfWork.cs

@ -11,6 +11,9 @@ namespace Volo.Abp.Uow
{
public class UnitOfWork : IUnitOfWork, ITransientDependency
{
[Obsolete("This will be removed in next versions.")]
public static AsyncLocal<bool> DisableObsoleteDbContextCreationWarning { get; } = new AsyncLocal<bool>();
public const string UnitOfWorkReservationName = "_AbpActionUnitOfWork";
public Guid Id { get; } = Guid.NewGuid();

Loading…
Cancel
Save