[DataContract]
public class Match
{
[DataMember]
public Guid Id { get; set; }
public virtual Tour Tour { get; set; }
[DataMember]
public DateTime DateMatch { get; set; }
public virtual Team Home { get; set; }
public virtual Team Guest { get; set; }
public virtual Result Result { get; set; }
}
[DataContract]
public class Result
{
[DataMember]
public Guid Id { get; set; }
public virtual Match Match { get; set; }
public virtual List<Goal> Goals { get; set; }
}
J'ai essayé de le faire dans Entity Framework quand je suis arrivé l'erreur:Impossible de déterminer la fin principale d'une association entre les types dans Entity Framework
Unable to determine the principal end of an association between the types 'OperationWithTeams.Result' and 'OperationWithTeams.Match'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations.
mais si suppression virtuel public Résultat de résultat {get ; ensemble; } working – Venedchuk
Si vous utilisez des annotations de données, ajoutez-les à votre classe 'Match': ' [ForeignKey ("Résultat")] public Guid? ResultId {get; ensemble; } ' Et à votre classe' Result', ajoutez ce qui suit: '[ForeignKey (" Match ")] public Guid MatchId {get; ensemble; } ' Cela permet à une correspondance d'avoir aucun résultat (NULL), si vous ne voulez pas permettre cela, rendre le' ResultId' non-nullable en supprimant le point d'interrogation (?). –