Browse Source

Better warning message

pull/6809/head
Halil İbrahim Kalkan 6 years ago
parent
commit
ad49f51c35
  1. 8
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Uow/EntityFrameworkCore/UnitOfWorkDbContextProvider.cs
  2. 13
      framework/src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDbContextProvider.cs

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

@ -39,8 +39,12 @@ namespace Volo.Abp.Uow.EntityFrameworkCore
[Obsolete("Use GetDbContextAsync method.")] [Obsolete("Use GetDbContextAsync method.")]
public TDbContext GetDbContext() public TDbContext GetDbContext()
{ {
Logger.LogWarning("UnitOfWorkDbContextProvider.GetDbContext is deprecated. Use GetDbContextAsync instead!"); Logger.LogWarning(
Logger.LogWarning(Environment.StackTrace); "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; var unitOfWork = _unitOfWorkManager.Current;
if (unitOfWork == null) if (unitOfWork == null)

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

@ -2,6 +2,8 @@
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using MongoDB.Bson; using MongoDB.Bson;
using MongoDB.Driver; using MongoDB.Driver;
using Volo.Abp.Data; using Volo.Abp.Data;
@ -13,6 +15,8 @@ namespace Volo.Abp.Uow.MongoDB
public class UnitOfWorkMongoDbContextProvider<TMongoDbContext> : IMongoDbContextProvider<TMongoDbContext> public class UnitOfWorkMongoDbContextProvider<TMongoDbContext> : IMongoDbContextProvider<TMongoDbContext>
where TMongoDbContext : IAbpMongoDbContext where TMongoDbContext : IAbpMongoDbContext
{ {
public ILogger<UnitOfWorkMongoDbContextProvider<TMongoDbContext>> Logger { get; set; }
private readonly IUnitOfWorkManager _unitOfWorkManager; private readonly IUnitOfWorkManager _unitOfWorkManager;
private readonly IConnectionStringResolver _connectionStringResolver; private readonly IConnectionStringResolver _connectionStringResolver;
private readonly ICancellationTokenProvider _cancellationTokenProvider; private readonly ICancellationTokenProvider _cancellationTokenProvider;
@ -25,11 +29,20 @@ namespace Volo.Abp.Uow.MongoDB
_unitOfWorkManager = unitOfWorkManager; _unitOfWorkManager = unitOfWorkManager;
_connectionStringResolver = connectionStringResolver; _connectionStringResolver = connectionStringResolver;
_cancellationTokenProvider = cancellationTokenProvider; _cancellationTokenProvider = cancellationTokenProvider;
Logger = NullLogger<UnitOfWorkMongoDbContextProvider<TMongoDbContext>>.Instance;
} }
[Obsolete("Use CreateDbContextAsync")] [Obsolete("Use CreateDbContextAsync")]
public TMongoDbContext GetDbContext() 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));
var unitOfWork = _unitOfWorkManager.Current; var unitOfWork = _unitOfWorkManager.Current;
if (unitOfWork == null) if (unitOfWork == null)
{ {

Loading…
Cancel
Save