C# AppService正在插入3行而不是一行

C# AppService正在插入3行而不是一行,c#,.net,aspnetboilerplate,ef-core-2.2,C#,.net,Aspnetboilerplate,Ef Core 2.2,问题: AppService正在插入3行而不是一行 我试图实现的是3个实体之间多对多关系的链接表。 它似乎在三个实体之间创建每种类型的链接之一 真假 假象 真实的 但我不明白为什么 我相信这可能与EF Core有更多的关系,但我不确定这里出了什么问题 我觉得这可能与导航属性有关,我删除了它们,但结果保持不变 public class ModelOne : FullAuditedEntity<long>, IMustHaveTenant { public virtual

问题:

AppService正在插入3行而不是一行

我试图实现的是3个实体之间多对多关系的链接表。 它似乎在三个实体之间创建每种类型的链接之一

真假

假象

真实的

但我不明白为什么

我相信这可能与EF Core有更多的关系,但我不确定这里出了什么问题

我觉得这可能与导航属性有关,我删除了它们,但结果保持不变

public class ModelOne : FullAuditedEntity<long>, IMustHaveTenant
{
        public virtual int TenantId { get; set; }
        public virtual ICollection<ResLink> ResLinks { get; set; }
}

很抱歉延迟回复,这是由于我的实际应用程序中的AutoMapper magic:)根据上面的评论,此代码工作正常


感谢大家抽出时间来查看:)

很抱歉回复太晚,这是因为我的实际应用程序中使用了AutoMapper magic:)根据上面的评论,此代码工作正常


感谢大家花时间查看:)

您所说的真-真、假-真、真-假是什么意思?您能为这些模型共享您的Fluent API配置(EF Core)吗?无法复制。在GitHub上创建一个派生自的复制项目。真-真、假-真、真-假是什么意思?能否共享这些模型的Fluent API配置(EF Core)?无法复制。在GitHub上创建一个从中派生的repo项目。
public class ModelTwo : FullAuditedEntity<long>, IMustHaveTenant
{
        public virtual int TenantId { get; set; }
        public virtual ICollection<ResLink> ResLinks { get; set; }
}
public class ModelThree : FullAuditedEntity<long>, IMustHaveTenant
{
        public virtual int TenantId { get; set; }
        public virtual ICollection<ResLink> ResLinks { get; set; }
}
public class ResLink : FullAuditedEntity<long>, IMustHaveTenant
{
        public virtual int TenantId { get; set; }

        public virtual long? ModelOneId { get; set; }
        public virtual ModelOne ModelOne { get; set; }

        public virtual long? ModelTwoId { get; set; }
        public virtual ModelTwo ModelTwo { get; set; }

        public virtual long? ModelThreeId { get; set; }
        public virtual ModelThree ModelThree { get; set; }      
}
public async Task CreateResLink() {
        var res = new ResLinkDto
        {
            TenantId = 1,            
            ModelOneId = 1,            
            ModelTwoId = 1,
            ModelThreeId = 180026       
        };

        await _resLinkRepository.InsertAsync(ObjectMapper.Map<ResLink>(res));
}
ID |Date |User Id| M.Date| M.User |IsDeleted| D.Uid |D.Time| TenantId |ModelOneId |ModelTwoId| ModelThreeId
30050   06/08/2019 13:26:54 6   NULL    NULL    False   NULL    NULL    1   1   NULL    180026
30051   06/08/2019 13:26:54 6   NULL    NULL    False   NULL    NULL    1   NULL    1   180026  
30052   06/08/2019 13:26:54 6   NULL    NULL    False   NULL    NULL    1   1   1   180026