处理SeqId 是主键,但是Id是虚拟主键,显示配置导航属性,解决codefirst 迁移问题
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-09-26 13:22:11 +08:00
parent a423c7c73a
commit d0018a3ec3
4 changed files with 43 additions and 27 deletions

View File

@ -13,7 +13,7 @@ public class IRaCISDBContextFactory : IDesignTimeDbContextFactory<IRaCISDBContex
public IRaCISDBContext CreateDbContext(string[] args) public IRaCISDBContext CreateDbContext(string[] args)
{ {
var optionsBuilder = new DbContextOptionsBuilder<IRaCISDBContext>(); var optionsBuilder = new DbContextOptionsBuilder<IRaCISDBContext>();
optionsBuilder.UseSqlServer("Server=106.14.89.110,1434;Database=Test_IRC_KEY;User ID=sa;Password=xc@123456;TrustServerCertificate=true", contextOptionsBuilder => contextOptionsBuilder.EnableRetryOnFailure()); optionsBuilder.UseSqlServer("Server=106.14.89.110,1433;Database=Test_IRC_KEY;User ID=sa;Password=xc@123456;TrustServerCertificate=true", contextOptionsBuilder => contextOptionsBuilder.EnableRetryOnFailure());
//迁移的时候,不生成外键 //迁移的时候,不生成外键
optionsBuilder.ReplaceService<IMigrationsSqlGenerator, NoForeignKeyMigrationsSqlGenerator>(); optionsBuilder.ReplaceService<IMigrationsSqlGenerator, NoForeignKeyMigrationsSqlGenerator>();
return new IRaCISDBContext(optionsBuilder.Options); return new IRaCISDBContext(optionsBuilder.Options);

View File

@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace IRaCIS.Core.Infra.EFCore.Migrations namespace IRaCIS.Core.Infra.EFCore.Migrations
{ {
[DbContext(typeof(IRaCISDBContext))] [DbContext(typeof(IRaCISDBContext))]
[Migration("20240926022902_CodeFirst_Init")] [Migration("20240926034717_CodeFirst_Init")]
partial class CodeFirst_Init partial class CodeFirst_Init
{ {
/// <inheritdoc /> /// <inheritdoc />
@ -13688,6 +13688,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasOne("IRaCIS.Core.Domain.Models.DicomSeries", "DicomSerie") b.HasOne("IRaCIS.Core.Domain.Models.DicomSeries", "DicomSerie")
.WithMany("DicomInstanceList") .WithMany("DicomInstanceList")
.HasForeignKey("SeriesId") .HasForeignKey("SeriesId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -13715,6 +13716,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasOne("IRaCIS.Core.Domain.Models.DicomStudy", "DicomStudy") b.HasOne("IRaCIS.Core.Domain.Models.DicomStudy", "DicomStudy")
.WithMany("SeriesList") .WithMany("SeriesList")
.HasForeignKey("StudyId") .HasForeignKey("StudyId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -15266,6 +15268,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasOne("IRaCIS.Core.Domain.Models.SCPSeries", "SCPSeries") b.HasOne("IRaCIS.Core.Domain.Models.SCPSeries", "SCPSeries")
.WithMany("SCPInstanceList") .WithMany("SCPInstanceList")
.HasForeignKey("SeriesId") .HasForeignKey("SeriesId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -15326,6 +15329,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasOne("IRaCIS.Core.Domain.Models.SCPStudy", "SCPStudy") b.HasOne("IRaCIS.Core.Domain.Models.SCPStudy", "SCPStudy")
.WithMany("SeriesList") .WithMany("SeriesList")
.HasForeignKey("StudyId") .HasForeignKey("StudyId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -15422,20 +15426,21 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
b.HasOne("IRaCIS.Core.Domain.Models.DicomStudy", "DicomStudy")
.WithMany("DicomStudyMonitorList")
.HasForeignKey("StudyId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IRaCIS.Core.Domain.Models.NoneDicomStudy", "NoneDicomStudy") b.HasOne("IRaCIS.Core.Domain.Models.NoneDicomStudy", "NoneDicomStudy")
.WithMany() .WithMany()
.HasForeignKey("StudyId") .HasForeignKey("StudyId")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
b.HasOne("IRaCIS.Core.Domain.Models.DicomStudy", "DicomStudy")
.WithMany("DicomStudyMonitorList")
.HasForeignKey("StudyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IRaCIS.Core.Domain.Models.TaskStudy", "TaskStudy") b.HasOne("IRaCIS.Core.Domain.Models.TaskStudy", "TaskStudy")
.WithMany("DicomStudyMonitorList") .WithMany()
.HasForeignKey("StudyId") .HasForeignKey("StudyId")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -16062,6 +16067,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasOne("IRaCIS.Core.Domain.Models.TaskSeries", "TaskSeries") b.HasOne("IRaCIS.Core.Domain.Models.TaskSeries", "TaskSeries")
.WithMany("InstanceList") .WithMany("InstanceList")
.HasForeignKey("SeriesId") .HasForeignKey("SeriesId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -16147,6 +16153,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasOne("IRaCIS.Core.Domain.Models.TaskStudy", "TaskStudy") b.HasOne("IRaCIS.Core.Domain.Models.TaskStudy", "TaskStudy")
.WithMany("SeriesList") .WithMany("SeriesList")
.HasForeignKey("StudyId") .HasForeignKey("StudyId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -17552,8 +17559,6 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
modelBuilder.Entity("IRaCIS.Core.Domain.Models.TaskStudy", b => modelBuilder.Entity("IRaCIS.Core.Domain.Models.TaskStudy", b =>
{ {
b.Navigation("DicomStudyMonitorList");
b.Navigation("InstanceList"); b.Navigation("InstanceList");
b.Navigation("SeriesList"); b.Navigation("SeriesList");

View File

@ -537,6 +537,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
constraints: table => constraints: table =>
{ {
table.PrimaryKey("PK_DicomSeries", x => x.SeqId); table.PrimaryKey("PK_DicomSeries", x => x.SeqId);
table.UniqueConstraint("AK_DicomSeries_Id", x => x.Id);
}, },
comment: "归档 - 序列表"); comment: "归档 - 序列表");
@ -586,6 +587,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
constraints: table => constraints: table =>
{ {
table.PrimaryKey("PK_DicomStudy", x => x.SeqId); table.PrimaryKey("PK_DicomStudy", x => x.SeqId);
table.UniqueConstraint("AK_DicomStudy_Id", x => x.Id);
}); });
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
@ -5796,6 +5798,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
constraints: table => constraints: table =>
{ {
table.PrimaryKey("PK_SCPSeries", x => x.SeqId); table.PrimaryKey("PK_SCPSeries", x => x.SeqId);
table.UniqueConstraint("AK_SCPSeries_Id", x => x.Id);
table.ForeignKey( table.ForeignKey(
name: "FK_SCPSeries_User_CreateUserId", name: "FK_SCPSeries_User_CreateUserId",
column: x => x.CreateUserId, column: x => x.CreateUserId,
@ -5849,6 +5852,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
constraints: table => constraints: table =>
{ {
table.PrimaryKey("PK_SCPStudy", x => x.SeqId); table.PrimaryKey("PK_SCPStudy", x => x.SeqId);
table.UniqueConstraint("AK_SCPStudy_Id", x => x.Id);
table.ForeignKey( table.ForeignKey(
name: "FK_SCPStudy_SCPPatient_PatientId", name: "FK_SCPStudy_SCPPatient_PatientId",
column: x => x.PatientId, column: x => x.PatientId,
@ -5908,7 +5912,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
name: "FK_StudyMonitor_DicomStudy_StudyId", name: "FK_StudyMonitor_DicomStudy_StudyId",
column: x => x.StudyId, column: x => x.StudyId,
principalTable: "DicomStudy", principalTable: "DicomStudy",
principalColumn: "SeqId", principalColumn: "Id",
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
table.ForeignKey( table.ForeignKey(
name: "FK_StudyMonitor_NoneDicomStudy_StudyId", name: "FK_StudyMonitor_NoneDicomStudy_StudyId",
@ -6682,6 +6686,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
constraints: table => constraints: table =>
{ {
table.PrimaryKey("PK_TaskStudy", x => x.SeqId); table.PrimaryKey("PK_TaskStudy", x => x.SeqId);
table.UniqueConstraint("AK_TaskStudy_Id", x => x.Id);
table.ForeignKey( table.ForeignKey(
name: "FK_TaskStudy_Subject_SubjectId", name: "FK_TaskStudy_Subject_SubjectId",
column: x => x.SubjectId, column: x => x.SubjectId,
@ -6868,11 +6873,12 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
constraints: table => constraints: table =>
{ {
table.PrimaryKey("PK_TaskSeries", x => x.SeqId); table.PrimaryKey("PK_TaskSeries", x => x.SeqId);
table.UniqueConstraint("AK_TaskSeries_Id", x => x.Id);
table.ForeignKey( table.ForeignKey(
name: "FK_TaskSeries_TaskStudy_StudyId", name: "FK_TaskSeries_TaskStudy_StudyId",
column: x => x.StudyId, column: x => x.StudyId,
principalTable: "TaskStudy", principalTable: "TaskStudy",
principalColumn: "SeqId", principalColumn: "Id",
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
table.ForeignKey( table.ForeignKey(
name: "FK_TaskSeries_User_CreateUserId", name: "FK_TaskSeries_User_CreateUserId",
@ -6926,7 +6932,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
name: "FK_TaskInstance_TaskSeries_SeriesId", name: "FK_TaskInstance_TaskSeries_SeriesId",
column: x => x.SeriesId, column: x => x.SeriesId,
principalTable: "TaskSeries", principalTable: "TaskSeries",
principalColumn: "SeqId", principalColumn: "Id",
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
table.ForeignKey( table.ForeignKey(
name: "FK_TaskInstance_TaskStudy_StudyId", name: "FK_TaskInstance_TaskStudy_StudyId",
@ -9293,7 +9299,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
table: "DicomInstance", table: "DicomInstance",
column: "SeriesId", column: "SeriesId",
principalTable: "DicomSeries", principalTable: "DicomSeries",
principalColumn: "SeqId", principalColumn: "Id",
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey( migrationBuilder.AddForeignKey(
@ -9317,7 +9323,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
table: "DicomSeries", table: "DicomSeries",
column: "StudyId", column: "StudyId",
principalTable: "DicomStudy", principalTable: "DicomStudy",
principalColumn: "SeqId", principalColumn: "Id",
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey( migrationBuilder.AddForeignKey(
@ -9634,7 +9640,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
table: "SCPInstance", table: "SCPInstance",
column: "SeriesId", column: "SeriesId",
principalTable: "SCPSeries", principalTable: "SCPSeries",
principalColumn: "SeqId", principalColumn: "Id",
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey( migrationBuilder.AddForeignKey(
@ -9657,7 +9663,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
table: "SCPSeries", table: "SCPSeries",
column: "StudyId", column: "StudyId",
principalTable: "SCPStudy", principalTable: "SCPStudy",
principalColumn: "SeqId", principalColumn: "Id",
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey( migrationBuilder.AddForeignKey(

View File

@ -13685,6 +13685,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasOne("IRaCIS.Core.Domain.Models.DicomSeries", "DicomSerie") b.HasOne("IRaCIS.Core.Domain.Models.DicomSeries", "DicomSerie")
.WithMany("DicomInstanceList") .WithMany("DicomInstanceList")
.HasForeignKey("SeriesId") .HasForeignKey("SeriesId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -13712,6 +13713,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasOne("IRaCIS.Core.Domain.Models.DicomStudy", "DicomStudy") b.HasOne("IRaCIS.Core.Domain.Models.DicomStudy", "DicomStudy")
.WithMany("SeriesList") .WithMany("SeriesList")
.HasForeignKey("StudyId") .HasForeignKey("StudyId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -15263,6 +15265,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasOne("IRaCIS.Core.Domain.Models.SCPSeries", "SCPSeries") b.HasOne("IRaCIS.Core.Domain.Models.SCPSeries", "SCPSeries")
.WithMany("SCPInstanceList") .WithMany("SCPInstanceList")
.HasForeignKey("SeriesId") .HasForeignKey("SeriesId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -15323,6 +15326,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasOne("IRaCIS.Core.Domain.Models.SCPStudy", "SCPStudy") b.HasOne("IRaCIS.Core.Domain.Models.SCPStudy", "SCPStudy")
.WithMany("SeriesList") .WithMany("SeriesList")
.HasForeignKey("StudyId") .HasForeignKey("StudyId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -15419,20 +15423,21 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
b.HasOne("IRaCIS.Core.Domain.Models.DicomStudy", "DicomStudy")
.WithMany("DicomStudyMonitorList")
.HasForeignKey("StudyId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IRaCIS.Core.Domain.Models.NoneDicomStudy", "NoneDicomStudy") b.HasOne("IRaCIS.Core.Domain.Models.NoneDicomStudy", "NoneDicomStudy")
.WithMany() .WithMany()
.HasForeignKey("StudyId") .HasForeignKey("StudyId")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
b.HasOne("IRaCIS.Core.Domain.Models.DicomStudy", "DicomStudy")
.WithMany("DicomStudyMonitorList")
.HasForeignKey("StudyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IRaCIS.Core.Domain.Models.TaskStudy", "TaskStudy") b.HasOne("IRaCIS.Core.Domain.Models.TaskStudy", "TaskStudy")
.WithMany("DicomStudyMonitorList") .WithMany()
.HasForeignKey("StudyId") .HasForeignKey("StudyId")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -16059,6 +16064,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasOne("IRaCIS.Core.Domain.Models.TaskSeries", "TaskSeries") b.HasOne("IRaCIS.Core.Domain.Models.TaskSeries", "TaskSeries")
.WithMany("InstanceList") .WithMany("InstanceList")
.HasForeignKey("SeriesId") .HasForeignKey("SeriesId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -16144,6 +16150,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasOne("IRaCIS.Core.Domain.Models.TaskStudy", "TaskStudy") b.HasOne("IRaCIS.Core.Domain.Models.TaskStudy", "TaskStudy")
.WithMany("SeriesList") .WithMany("SeriesList")
.HasForeignKey("StudyId") .HasForeignKey("StudyId")
.HasPrincipalKey("Id")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
@ -17549,8 +17556,6 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
modelBuilder.Entity("IRaCIS.Core.Domain.Models.TaskStudy", b => modelBuilder.Entity("IRaCIS.Core.Domain.Models.TaskStudy", b =>
{ {
b.Navigation("DicomStudyMonitorList");
b.Navigation("InstanceList"); b.Navigation("InstanceList");
b.Navigation("SeriesList"); b.Navigation("SeriesList");