我有兩個三個模型:Reservation,Buyer和SalesAgent。我的應用程序所做的是,預訂可以與買方同時放置一個SalesAgent。這是我對我的模型結構:來自實體框架中的TPH的多個外鍵
預訂
public class Reservation
{
public int Id { get; set; }
[Required(ErrorMessage = "Enter Reservation Date.")]
[DataType(DataType.Date)]
[Display(Name = "Reservation Date")]
public string ReservationDate { get; set; }
public virtual HouseUnit HouseUnit { get; set; }
public int HouseUnitID { get; set; }
public virtual Buyer Buyer { get; set; }
public int BuyerID { get; set; }
public virtual SalesAgent SalesAgent { get; set; }
public int SalesAgentID { get; set; }
}
買家
public class Buyer
{
public int Id { get; set; }
[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Required]
[Display(Name = "Last Name")]
public string LastName { get; set; }
[Required]
[Display(Name = "Middle Name")]
public string MiddleName { get; set; }
[Required(ErrorMessage = "Enter enter birth date.")]
[DataType(DataType.Date)]
[Display(Name = "Date of Birth")]
public string DateOfBirth { get; set; }
[Display(Name = "Current Address")]
[Required]
public string CurrentAddress { get; set; }
[Required]
public string Occupation { get; set; }
[Display(Name = "Monthly Income")]
[DisplayFormat(DataFormatString = "{0:n2}")]
public double MonthlyIncome { get; set; }
[Required]
public string Company { get; set; }
[Required(ErrorMessage = "Your must provide a contact number.")]
[Display(Name = "Contact Number")]
[DataType(DataType.PhoneNumber)]
[RegularExpression(@"^(\d{11})$", ErrorMessage = "Please enter proper contact details.")]
public string ContactNumber { get; set; }
public bool HasPlacedReservation { get; set; }
}
SalesAgent
public class SalesAgent : Buyer {}
運行Update-Database
時出現問題。這裏的錯誤:
Introducing FOREIGN KEY constraint 'FK_dbo.Reservations_dbo.BuyersInformations_SalesAgentID' on table 'Reservations' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
有人可以請解釋發生了什麼,以及如何解決這個問題?謝謝。
你會分享'BuyersInformation'類。 –