gpt4 book ai didi

c# - 无法确定类型之间关联的主体端

转载 作者:太空狗 更新时间:2023-10-29 19:59:34 25 4
gpt4 key购买 nike

<分区>

情况是这样的。ElectricConsumer 有两种类型,即 CommercialConsumers 和 DomesticConsumers(Quaters),一个 Quater 分配给一个 Employee。下面是我的代码,但遇到异常。

Unable to determine the principal end of an association between the types EFcodefirstDemo.CodeFistModel.Quater and EFcodefirstDemo.CodeFistModel.Employee. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations.

我知道我在某些地方犯了错误,因为我是 EF 的新手。希望你能解决这个问题。

public class Employee
{
public Employee()
{
MeterReadings = new List<MeterReading>();
MeterReadings = new List<MeterReading>();
}

[Key]
[Column(Order = 1)]

public int EmployeeID { get; set; }
[Key]
[Column(Order = 2)]

public Int64 EmployeeNo { get; set; }
public String EmployeeName { get; set; }
[DefaultValue(true)]
public bool Gender { get; set; }
[DefaultValue(true)]

public bool HasResidence { get; set; }
public bool IsInDivision { get; set; }

public int? ManagerID { get; set; }
public virtual Employee Manager { get; set; }


public virtual Department Deparment { get; set; }
public int QuaterID { get; set; }
[ForeignKey("QuaterID")]
public virtual Quater Quater { get; set; }

public virtual ICollection<MeterReading> MeterReadings { get; set; }

}

public partial class ElectricConsumer
{
[Key]
public int ElectricConsumerID { get; set; }
public String Area { get; set; }
[MaxLength(350)]
public String Address { get; set; }
public virtual ICollection< Meter> Meters { get; set; }
}




public partial class Quater : ElectricConsumer
{

public Quater()
{
// Meters = new List<Meter>();
}

public int QuaterNo { get; set; }
public int QuaterPortionNo { get; set; }
public virtual Employee Employee { get; set; }


}

public partial class CommericalCustomer : ElectricConsumer
{
public CommericalCustomer()
{
// Meters = new List<Meter>();
}
public String Name { get; set; }
[Index("NicIndex", IsUnique = true)]
public Int64 NIC { get; set; }

public int ShopNo { get; set; }


}


public partial class Meter
{
public Meter()
{
InstalledDate = DateTime.Now;
MeterReadings = new List<MeterReading>();
ElectricBills = new List<ElectricBill>();
}

[Key]
[Column(Order = 1)]
public int MeterID { get; set; }
[Key]
[Column(Order = 2)]
public int MeterNo { get; set; }
[DefaultValue(1)]
public int Phase { get; set; }

public DateTime InstalledDate { get; set; }
[DefaultValue(true)]
public bool IsOperating { get; set; }

public virtual ElectricConsumer ElectricConsumer { get; set; }
public virtual ICollection<MeterReading> MeterReadings { get; set; }
public virtual ICollection<ElectricBill> ElectricBills { get; set; }
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com