项目配置使用Json 列 测试
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
1f33a9fa4e
commit
41a889f201
|
@ -68,7 +68,6 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
public List<string> ModalityList { get; set; } = new List<string>();
|
||||
|
||||
public string TrialObjectNameConfigStr { get; set; }
|
||||
|
||||
public List<TrialObjectNameConfig> TrialObjectNameList { get; set; }
|
||||
|
||||
|
|
|
@ -908,7 +908,6 @@ namespace IRaCIS.Core.Application
|
|||
|
||||
trialConfig.Modalitys = $"{String.Join('|', trialConfig.ModalityList)}";
|
||||
|
||||
trialConfig.TrialObjectNameConfigStr=JsonConvert.SerializeObject(trialConfig.TrialObjectNameList);
|
||||
_mapper.Map(trialConfig, trialInfo);
|
||||
trialInfo.UpdateTime = DateTime.Now;
|
||||
|
||||
|
@ -1351,11 +1350,11 @@ namespace IRaCIS.Core.Application
|
|||
/// <returns></returns>
|
||||
public async Task<TrialExtraConfig> GetTrialExtralConfig(Guid trialId)
|
||||
{
|
||||
var extralObj = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.TrialExtraConfigJsonStr, t.TrialObjectNameConfigStr }).FirstOrDefault();
|
||||
var extralObj = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.TrialExtraConfigJsonStr, t.TrialObjectNameList }).FirstOrDefault();
|
||||
|
||||
var extralConfig = JsonConvert.DeserializeObject<TrialExtraConfig>(extralObj?.TrialExtraConfigJsonStr) ?? new TrialExtraConfig();
|
||||
|
||||
extralConfig.TrialObjectNameList = JsonConvert.DeserializeObject<List<TrialObjectNameConfig>>(extralObj?.TrialObjectNameConfigStr) ?? new List<TrialObjectNameConfig>();
|
||||
extralConfig.TrialObjectNameList = extralObj.TrialObjectNameList;
|
||||
|
||||
return extralConfig;
|
||||
}
|
||||
|
|
|
@ -261,14 +261,14 @@ public partial class Trial : BaseFullDeleteAuditEntity
|
|||
public bool IsTrialPACSConfirmed { get; set; }
|
||||
|
||||
[Comment("项目术语配置Json字符串")]
|
||||
[StringLength(1000)]
|
||||
public string TrialObjectNameConfigStr { get; set; }
|
||||
[StringLength(2000)]
|
||||
public List<TrialObjectNameConfig> TrialObjectNameList { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public List<TrialObjectNameConfig> TrialObjectNameList => JsonConvert.DeserializeObject<List<TrialObjectNameConfig>>(TrialObjectNameConfigStr) ?? new List<TrialObjectNameConfig>();
|
||||
//[NotMapped]
|
||||
//public List<TrialObjectNameConfig> TrialObjectNameList => JsonConvert.DeserializeObject<List<TrialObjectNameConfig>>(TrialObjectNameConfigStr) ?? new List<TrialObjectNameConfig>();
|
||||
}
|
||||
|
||||
public class TrialObjectNameConfig
|
||||
public struct TrialObjectNameConfig
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
||||
|
|
|
@ -69,6 +69,12 @@ public class IRaCISDBContext : DbContext
|
|||
v => string.IsNullOrEmpty(v) ? null : JsonConvert.DeserializeObject<List<TestJsonObject>>(v));
|
||||
});
|
||||
|
||||
modelBuilder.Entity<Trial>(entity =>
|
||||
{
|
||||
entity.Property(e => e.TrialObjectNameList).HasConversion(v => v == null ? "[]" : JsonConvert.SerializeObject(v),
|
||||
v => string.IsNullOrEmpty(v) ? null : JsonConvert.DeserializeObject<List<TrialObjectNameConfig>>(v));
|
||||
});
|
||||
|
||||
#region pgsql codefirst 配置 暂时屏蔽
|
||||
//if (base.Database.IsNpgsql())
|
||||
//{
|
||||
|
|
18084
IRaCIS.Core.Infra.EFCore/Migrations/20241108054651_TrialJson.Designer.cs
generated
Normal file
18084
IRaCIS.Core.Infra.EFCore/Migrations/20241108054651_TrialJson.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,44 @@
|
|||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace IRaCIS.Core.Infra.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class TrialJson : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "TrialObjectNameConfigStr",
|
||||
table: "Trial");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "TrialObjectNameList",
|
||||
table: "Trial",
|
||||
type: "nvarchar(2000)",
|
||||
maxLength: 2000,
|
||||
nullable: false,
|
||||
defaultValue: "",
|
||||
comment: "项目术语配置Json字符串");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "TrialObjectNameList",
|
||||
table: "Trial");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "TrialObjectNameConfigStr",
|
||||
table: "Trial",
|
||||
type: "nvarchar(1000)",
|
||||
maxLength: 1000,
|
||||
nullable: false,
|
||||
defaultValue: "",
|
||||
comment: "项目术语配置Json字符串");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -10407,10 +10407,10 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
|
|||
b.Property<DateTime?>("TrialFinishedTime")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<string>("TrialObjectNameConfigStr")
|
||||
b.Property<string>("TrialObjectNameList")
|
||||
.IsRequired()
|
||||
.HasMaxLength(1000)
|
||||
.HasColumnType("nvarchar(1000)")
|
||||
.HasMaxLength(2000)
|
||||
.HasColumnType("nvarchar(2000)")
|
||||
.HasComment("项目术语配置Json字符串");
|
||||
|
||||
b.Property<string>("TrialStatusStr")
|
||||
|
|
Loading…
Reference in New Issue