2017-04-20 47 views
0

我了.NET的核心應用與EFCore分貝背景:如何注入到ILogger EFCore的DbContext

public class MyappDbContext : DbContext 
{ 
    private ILogger<MyappDbContext> _logger; 

    public MyappDbContext(DbContextOptions<MyappDbContext> options) 
     : base(options) 
    { 
     // ??? 
    } 
} 

在啓動I類註冊方面:

services.AddDbContext<MyappDbContext>(options => options.UseSqlServer(connectionString)); 

如何注入MyappDbContext ILogger或ILoggerFactory (創建記錄器)?

回答

1

所有你需要做的就是添加一個ILoggerFactory或​​參數上下文構造:

public class MyappDbContext : DbContext 
{ 
    private readonly ILogger<MyappDbContext> _logger; 

    public MyappDbContext(DbContextOptions<MyappDbContext> options, 
     ILogger<MyappDbContext> logger) 
     : base(options) 
    { 
     _logger = logger; 
    } 
} 
+1

您應該確保不過,你也有EF數據庫遷移一個空的構造工作。 –

+0

好吧OP會有這個問題,所以這是一個不同的問題。 – DavidG

+1

它工作出色。 在此期間,我創建了IDbContextFactory。遷移使用IDbContextFactory來創建我的dbContext。 – massther

相關問題