J'ai récemment téléchargé Entity Framework Code First CTP5
, et j'ai un problème avec ce scénario. J'ai deux tables comme suit:Code EF Tout d'abord, comment puis-je obtenir deux clés étrangères d'une table vers une autre table?
Members table : ID Name Comments table : ID Comment CommentedMemberID CommentMemberID
Et, les données doivent être comme les suivantes:
Members ID Name 1 Mike 2 John 3 Tom Comments ID Comment CommentedMemberID CommentMemberID 1 Good 1 2 2 Good 1 3 3 Bad 2 1
Ensuite, je codifiés comme indiqué ci-dessous:
public class Member
{
public int ID {get; set; }
public string Name { get; set;}
public virtual ICollection<Comment> Comments { get; set;}
}
public class Comment
{
public int ID { get; set; }
public string Comment { get; set; }
public int CommentedMemberID { get; set; }
public int CommentMemberID{ get; set; }
public virtual Member CommentedMember { get; set; }
public virtual Member CommentMember { get; set; }
}
public class TestContext : DbContext
{
public DbSet<Member> Members { get; set; }
public DbSet<Comment> Comments { get; set; }
}
Mais quand je lance ces modèles sur mon cshtml
, il me donne des erreurs en disant "Impossible de créer CommentMember
instance" ou quelque chose comme ça (Désolé, j'ai déjà changé mes modèles pour procéder à la première évaluation EF Code, donc ne peut pas reproduire la même erreur).
J'ai également essayé d'utiliser OnModelCreating
sur le TestContext
, mais je ne trouve aucune bonne instruction et je ne sais pas quoi faire. J'ai vu un billet de blog de l'EF Code First CTP3, et il semble qu'il y avait un attribut RelatedTo dans cette version, mais maintenant il est parti.
Quelqu'un pourrait-il savoir comment le faire fonctionner correctement? Ou est-ce un mauvais moyen d'aller avec ce scénario?
Merci,
Yoo
Merci beaucoup. Cela a fait l'affaire! Je vais jeter un coup d'oeil à l'API couramment car je ne comprends toujours pas comment ça marche :) –