json 列修改提交

IRC_NewDev
hang 2024-11-08 17:14:41 +08:00
parent 5fdbdfec82
commit 341e4321b2
4 changed files with 19 additions and 5 deletions

View File

@ -911,7 +911,7 @@ namespace IRaCIS.Core.Application
_mapper.Map(trialConfig, trialInfo); _mapper.Map(trialConfig, trialInfo);
trialInfo.UpdateTime = DateTime.Now; trialInfo.UpdateTime = DateTime.Now;
_trialRepository.MarkAsModified(trialInfo, nameof(trialInfo.TrialObjectNameList)); //_trialRepository.MarkAsModified(trialInfo, nameof(trialInfo.TrialObjectNameList));
//await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(t => t.TrialId == trialConfig.TrialId && t.IsSigned == false, u => new ReadingQuestionCriterionTrial() { CriterionModalitys = trialConfig.Modalitys }); //await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(t => t.TrialId == trialConfig.TrialId && t.IsSigned == false, u => new ReadingQuestionCriterionTrial() { CriterionModalitys = trialConfig.Modalitys });

View File

@ -268,7 +268,8 @@ public partial class Trial : BaseFullDeleteAuditEntity
//public List<TrialObjectNameConfig> TrialObjectNameList => JsonConvert.DeserializeObject<List<TrialObjectNameConfig>>(TrialObjectNameConfigStr) ?? new List<TrialObjectNameConfig>(); //public List<TrialObjectNameConfig> TrialObjectNameList => JsonConvert.DeserializeObject<List<TrialObjectNameConfig>>(TrialObjectNameConfigStr) ?? new List<TrialObjectNameConfig>();
} }
public struct TrialObjectNameConfig [ComplexType]
public class TrialObjectNameConfig
{ {
public string Name { get; set; } public string Name { get; set; }

View File

@ -2,6 +2,7 @@
using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Domain.Models;
using IRaCIS.Core.Infra.EFCore.Common; using IRaCIS.Core.Infra.EFCore.Common;
using IRaCIS.Core.Infrastructure.Encryption; using IRaCIS.Core.Infrastructure.Encryption;
using IRaCIS.Core.Infrastructure.Extention;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Newtonsoft.Json; using Newtonsoft.Json;
using System.ComponentModel; using System.ComponentModel;
@ -69,10 +70,21 @@ public class IRaCISDBContext : DbContext
v => string.IsNullOrEmpty(v) ? null : JsonConvert.DeserializeObject<List<TestJsonObject>>(v)); v => string.IsNullOrEmpty(v) ? null : JsonConvert.DeserializeObject<List<TestJsonObject>>(v));
}); });
modelBuilder.Entity<Trial>(entity => modelBuilder.Entity<Trial>(entity =>
{ {
entity.Property(e => e.TrialObjectNameList).HasConversion(v => v == null ? "[]" : JsonConvert.SerializeObject(v), //entity.Property(e => e.TrialObjectNameList).HasConversion(v => v == null ? "[]" : JsonConvert.SerializeObject(v),
v => string.IsNullOrEmpty(v) ? new List<TrialObjectNameConfig>() : JsonConvert.DeserializeObject<List<TrialObjectNameConfig>>(v)); // v => string.IsNullOrEmpty(v) ? new List<TrialObjectNameConfig>() : JsonConvert.DeserializeObject<List<TrialObjectNameConfig>>(v));
entity.OwnsMany(x => x.TrialObjectNameList, ownedNavigationBuilder =>
{
ownedNavigationBuilder.ToJson();
//ownedNavigationBuilder.HasKey(t=>t.Name);
});
}); });
#region pgsql codefirst 配置 暂时屏蔽 #region pgsql codefirst 配置 暂时屏蔽

View File

@ -142,7 +142,8 @@ public class AuditEntityInterceptor(IUserInfo _userInfo,
var inspectionGeneralIdList = context.ChangeTracker.Entries().Where(t => typeof(DataInspection).IsAssignableFrom(t.Entity.GetType())).Select(t => ((DataInspection)t.Entity).GeneralId).ToList(); var inspectionGeneralIdList = context.ChangeTracker.Entries().Where(t => typeof(DataInspection).IsAssignableFrom(t.Entity.GetType())).Select(t => ((DataInspection)t.Entity).GeneralId).ToList();
var entities = context.ChangeTracker.Entries().Where(u => (u.State == EntityState.Modified || u.State == EntityState.Deleted || u.State == EntityState.Added)) var entities = context.ChangeTracker.Entries().Where(u => (u.State == EntityState.Modified || u.State == EntityState.Deleted || u.State == EntityState.Added))
.Where(t => !typeof(DataInspection).IsAssignableFrom(t.Entity.GetType()) && !inspectionGeneralIdList.Contains(((Entity)t.Entity).Id)) .Where(t => !typeof(DataInspection).IsAssignableFrom(t.Entity.GetType()) && typeof(Entity).IsAssignableFrom(t.Entity.GetType())
&& !inspectionGeneralIdList.Contains(((Entity)t.Entity).Id))
.ToList(); .ToList();
AuditingData auditingData = new AuditingData((IRaCISDBContext)context, _userInfo); AuditingData auditingData = new AuditingData((IRaCISDBContext)context, _userInfo);