using IRaCIS.Core.Domain; using IRaCIS.Core.Domain.Models; using Microsoft.EntityFrameworkCore.ChangeTracking; namespace IRaCIS.Core.Infra.EFCore; public static class DBContext_Ext { public static void AddDomainEvents(this DbContext context) { var changeTracker = context.ChangeTracker; } public static void AddDomainCommands(this DbContext context) { var changeTracker = context.ChangeTracker; //遍历 ChangeTracker 中的实体 //foreach (var entry in changeTracker.Entries()) //{ // var userLog = entry.Entity; // if (entry.State == EntityState.Added) // { // // 受试者添加 触发访视自动添加 // var addCommand = new AddUserLogTriggerCommand { UserLog=userLog }; // userLog.AddDomainCommand(addCommand); // } //} //foreach (var entry in changeTracker.Entries()) //{ // var subject = entry.Entity; // if (entry.State == EntityState.Added) // { // // 受试者添加 触发访视自动添加 // var addedEvent = new AddSubjectTriggerCommand { SubjectId = subject.Id, TrialId = subject.TrialId, TrialSiteId = subject.TrialSiteId }; // subject.AddDomainCommand(addedEvent); // } //} } }