【问题标题】:Entity Framework context in context上下文中的实体框架上下文
【发布时间】:2012-03-08 11:13:49
【问题描述】:

我有一个像下面这样的上下文类,我想记录另一个数据库的所有 db 操作,在另一个 DbContext 中使用 DbContext?这是一个问题吗?

public class MyContext : DbContext
{
    public DbSet<SiteUser> SiteUsers { get; set; }
    public DbSet<SystemLanguage> SystemLanguages { get; set; }

    public int SaveChanges(string userId)
    {
        LogContext logDB = new LogContext();

        var entries = this.ChangeTracker.Entries()
            .Where(p => p.State == EntityState.Added || 
                p.State == EntityState.Deleted || 
                p.State == EntityState.Modified);

        foreach (var entry in entries)
        {
            foreach (AuditLog log in
                GetAuditRecordsForChange(entry, userId))
            {
                logDB.AuditLogs.Add(log);
            }
        }

        logDB.SaveChanges();

        return base.SaveChanges();
    }
}

【问题讨论】:

    标签: c# .net entity-framework entity-framework-4


    【解决方案1】:

    从技术上讲,这不是问题,因为您可以轻松地创建与另一个数据库的连接(甚至打开与同一数据库的多个连接),这正是 DbContext 在幕后所做的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-06
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多