Introduction:
Entity Framework Core (EF Core) permet de créer plusieurs relations entre les entités. Cependant, EF Core ne prend pas directement en charge le tableau de connexion de la personnalisation de ces relations. Cet article traite d'une méthode de remplacement qui utilise d'abord le code pour créer des relations multiples avec des champs supplémentaires dans le tableau d'association.Créer une corrélation:
Nous créerons deux paires de multi-relations plutôt que de relations directes et plus. Par exemple, considérez la scène suivante:
Dans ce scénario, le membre et les entités de commentaire ont plusieurs relations, et le membre de membre représente le tableau associé des champs supplémentaires.
requête:
<code class="language-csharp">public class Member { public int MemberID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public virtual ICollection<MemberComment> MemberComments { get; set; } } public class Comment { public int CommentID { get; set; } public string Message { get; set; } public virtual ICollection<MemberComment> MemberComments { get; set; } } public class MemberComment { [Key, Column(Order = 0)] public int MemberID { get; set; } [Key, Column(Order = 1)] public int CommentID { get; set; } public int Something { get; set; } public string SomethingElse { get; set; } public virtual Member Member { get; set; } public virtual Comment Comment { get; set; } }</code>
Opération:
Dans ce modèle, en ajoutant des entités et des relations similaires aux autres modèles de premier code:
<code class="language-csharp">// 查找 LastName = "Smith" 的成员的所有评论 var commentsOfMembers = context.Members .Where(m => m.LastName == "Smith") .SelectMany(m => m.MemberComments.Select(mc => mc.Comment)) .ToList();</code>
Bien que le noyau EF ne prenne pas directement en charge les relations multiples multiples dans les tableaux associés du tableau d'association, il peut être utilisé pour créer des fonctions similaires avec deux paires de multi-relations. Cette méthode permet la création d'une riche corrélation avec des informations supplémentaires pour atteindre des fonctions de modélisation et de requête plus flexibles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!