将 PK 和 FK 的属性(在一个属性中)移动到流畅的 API

问题描述 投票:0回答:0

Fluent API 怎么做?我试过了,没有任何结果。问题是钥匙 - 相同的 PK 和 FK。

    [Table("ViewWarehouseRequestCalculatedTotals")]
    public class WarehouseRequestCalculatedTotals : Entity
    {
        [NotMapped]
        public override int Id { get => WarehouseRequestId; set => WarehouseRequestId = value; }
        [Key]
        [ForeignKey("WarehouseRequest")]
        public int WarehouseRequestId { get; set; }

        public int Requested { get; set; }
        public int Pending { get; set; }
        public int Rejected { get; set; }
        public int Approved { get; set; }
        public int Skipped { get; set; }

        public virtual WarehouseRequest WarehouseRequest { get; set; }

    }

这是 WarehouseRequest 的实体

        public class WarehouseRequest:Entity
        {

            public override int Id { get => WarehouseRequestId; set => WarehouseRequestId = value; }

            public int WarehouseRequestId { get; set; }
            public int? WarehouseRequestStatusId { get; set; }
            public string? OrderNo { get; set; }
            public string? AS400RequestNumber { get; set; }
            public DateTime? DateRequested { get; set; }
            public DateTime? DateCancel { get; set; }
            public string? Division { get; set; }
            public string? UserName { get; set; }

            public List<WarehouseRequestItem>? Items { get; set; }
            public WarehouseRequestCalculatedTotals? CalculatedTotals { get; set; }



            public DateTime? DueDate { get; set; }
            public string? Title { get; set; }
            public bool? Urgent { get; set; }
            public int? GroupingId { get; set; }
            public int? Request { get; set; }
            public int? Photographed { get; set; }
            public int? Skipped { get; set; }
            public List<int>? BrandsIds { get; set; }

            public List<int>? CategoriesIds { get; set; }

            public List<int>? SizesIds { get; set; }

            public List<WarehouseRequestCalculatedTotals> WarehouseRequestCalculatedTotals { get; set; } = new List<WarehouseRequestCalculatedTotals>();

            public List<WarehouseRequestItem> WarehouseRequestItems { get; set; } = new List<WarehouseRequestItem>();

    }

我总是在运行/调试我的项目后恢复错误: “InvalidOperationException:无法确定由类型为‘WarehouseRequestCalculatedTotals’的导航‘WarehouseRequest.CalculatedTotals’表示的关系。手动配置关系,或者使用‘[NotMapped]’属性或使用‘EntityTypeBuilder.Ignore’忽略此属性。 OnModelCreating'.

我试过了,没有结果:

        public void Configure(EntityTypeBuilder<WarehouseRequestCalculatedTotals> builder)
        {
            builder.ConfigureEntity();

            builder.ToTable("ViewWarehouseRequestCalculatedTotals");

            builder.HasKey(x => x.WarehouseRequestId);

            builder.HasOne(e => e.WarehouseRequest).WithOne(e => e.CalculatedTotals).HasForeignKey<WarehouseRequest>(e=>e.WarehouseRequestId);


        }
entity-framework attributes data-annotations ef-fluent-api ef-core-3.0
© www.soinside.com 2019 - 2024. All rights reserved.