اشتراکها
خبرنامه Angular 2
به روز رسانی: روش توصیه شدهی مخصوص EF Core 2.0 جهت Log خروجی EF
UseLoggerFactory روش توصیه شدهی EF Core 2.0 است و طول عمر وهلهی ارسالی به آن باید singleton باشد تا از بروز نشتی حافظه جلوگیری کند.
using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Console; namespace EFLogging { public class BloggingContextWithFiltering : DbContext { // It is very important that applications do not create a new ILoggerFactory instance for each context instance. // Doing so will result in a memory leak and poor performance. public static readonly LoggerFactory MyLoggerFactory = new LoggerFactory(new[] { new ConsoleLoggerProvider((category, level) => category == DbLoggerCategory.Database.Command.Name && level == LogLevel.Information, true) }); public DbSet<Blog> Blogs { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder .UseLoggerFactory(MyLoggerFactory) // Warning: Do not create a new ILoggerFactory instance each time .UseSqlServer( @"Server=(localdb)\mssqllocaldb;Database=EFLogging;Trusted_Connection=True;ConnectRetryCount=0"); } }