private async Task _OnBeforeSaving() { var entries = ChangeTracker.Entries().ToList(); using var sha512 = SHA512.Create(); foreach (var template in _filter <TemplateRevisionEntity>(entries)) { template.CWeightTsvHelper = Fields.fromString.Invoke(template.Fields).Select(x => x.Name) .Append(MappingTools.stripHtmlTags(template.CardTemplates)) .Apply(x => string.Join(' ', x)); } foreach (var revision in _filter <RevisionEntity>(entries)) { if (revision.TemplateRevision == null) { revision.TemplateRevision = await TemplateRevision.FindAsync(revision.TemplateRevisionId); } var templateHash = revision.TemplateRevision?.Hash ?? TemplateRevision.Find(revision.TemplateRevisionId).Hash; revision.TsvHelper = MappingTools.stripHtmlTags(revision.FieldValues); } foreach (var card in _filter <CardEntity>(entries)) { card.TsvHelper = MappingTools.stripHtmlTags(card.FrontPersonalField) + " " + MappingTools.stripHtmlTags(card.BackPersonalField); } }