上下文中的实体框架上下文
本文关键字:上下文 框架 实体 | 更新日期: 2023-09-27 18:27:12
我有一个上下文类,如下所示,我想记录另一个数据库中的所有数据库操作,在另一个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();
}
}
从技术上讲,这不是问题,因为您可以轻松地创建到另一个数据库的连接(甚至打开到同一数据库的多个连接),这就是DbContext
在幕后所做的。