Recentemente mi sono imbattuto in questo strano problema con Entity Framework Code First.Perché sto ottenendo una colonna chiave esterna aggiuntiva con il codice Entity Framework Attributi chiave esterna prima?
La mia classe assomiglia a questo
public class Status
{
[Key]
public int StatusID { get; set; }
public string Name { get; set; }
public int MemberID { get; set; }
[ForeignKey("MemberID")]
public virtual Member Member { get; set; }
public int PosterID { get; set; }
[ForeignKey("PosterID")]
public virtual Member Poster { get; set; }
public virtual ICollection<StatusLike> StatusLikes { get; set; }
public virtual ICollection<StatusComment> StatusComments { get; set; }
}
La mia classe gli si presenta così
public class Member
{
[Key]
public int MemberID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Bio { get; set; }
public virtual ICollection<MemberCourseTaken> MemberCourseTakens { get; set; }
public virtual ICollection<Status> Statuses { get; set; }
public virtual ICollection<Club> FoundedClubs { get; set; }
public string EmailAddress { get; set; }
public string Password { get; set; }
public string Phone { get; set; }
public int AccountSourceID { get; set; }
public AccountSource AccountSource { get; set; }
public int AddressID { get; set; }
public Address Address { get; set; }
public string ProfilePhoto { get; set; }
public int MemberRankID { get; set; }
public MemberRank MemberRank { get; set; }
public DateTime Created { get; set; }
public DateTime Modified { get; set; }
}
E per qualsiasi motivo la tabella del database che viene creato ha le seguenti colonne
StatusID
Name
MemberID
PosterID
Member_MemberID
con MemberID
, PosterID
e Member_MemberID
sono chiavi esterne.
Come posso evitare di generare Member_MemberID
?
Quante proprietà di navigazione da 'Membro' a' Stato' hai? Mostra la tua classe 'Member'. –
Lotti! Ho aggiunto nella classe membro alla domanda. –