Entity Framework Core Fluent Api 配置连接表记录取决于值

问题描述

我有一个连接表 const response = UrlFetchApp.fetch(url,{'muteHttpExceptions': true}); const str = response.getContentText(); const jsonObj = JSON.parse(str); ,它是:

UserSystem

还有一个配置

public class UserSystem
    {
        public int UserSystemId { get; set; }

        public int SystemId { get; set; }
        public virtual System System { get; set; }

        public int UserId { get; set; }
        public virtual User User { get; set; }

        public DateTime AddedDate { get; set; }
        public int AddedByUserId { get; set; }

        public bool Deleted { get; set; }
        public DateTime? DeletedDate { get; set; }
        public int? DeletedByUserId { get; set; }
    }

现在我希望能够添加具有相同 public void Configure(EntityTypeBuilder<UserSystem> builder) { builder.ToTable("UserSystem",DbSchemas.Dbo); builder.HasKey(e => e.UserSystemId); builder.HasOne(bc => bc.User).WithMany(b => b.UserSystems).HasForeignKey(bc => bc.UserId); builder.HasOne(bc => bc.System).WithMany().HasForeignKey(bc => bc.SystemId); } UserSystem 的新 UserId,但前提是 SystemId 不存在相同的数据。例如,如果 Deleted == 0UserId = 1数据库中,但它有 SystemId = 1,那么我希望能够再次使用 Deleted = 1 添加相同的记录,但无法添加当具有该数据的任何记录具有 Deleted = 0 时,相同的数据。我如何在 FluentApi 中实现它?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)