J'espère vraiment que vous pouvez m'aider car je suis sur le point de lancer mon projet MVC/Entity Framework dans la corbeille et de démarrer un projet MVC/Linq.ado.net entité cadre massive confusion
Je construis un forum en tant que projet juste pour apprendre à connaître MVC/Entity, et j'ai 4 tables qui sont toutes liées.
- Forum_Category,
- Forum,
- Sujet,
- Répondre
donc il y a 1 à plusieurs sur category_id entre Forum_Category et Forum.
1 sur plusieurs sur Forum_ID entre le forum et le sujet.
et un à plusieurs sur Topic_ID entre Sujet et Répondre.
Je comprends que vous pouvez charger des données liées à l'aide
Dim F = (From forum in _DataContext.Forum.Include("Forum_Category") _
Where forum.Forum_ID = 1 _
Select forum).First
mais si je voulais obtenir les données pour tous les replys à un seul sujet, puis charger le forum du sujet et la catégorie?
J'ai réussi à obtenir un peu là-bas avec le code:
Dim FT = (From F In _dataContext.Topic.Include("Forum") _
Where F.TOPIC_STATUS = ForumSettings.FORUM_STATUS.Active _
Select F).First()
Dim TRs = (From F In _dataContext.Topic_Reply _
Where F.Topic.TOPIC_ID = TopicID _
Select F).ToList()
For Each TR As Topic_Reply In TRs
FT.Topic_Reply.Add(TR)
Next
Return FT
Mais quand j'ai essayé d'ajouter une nouvelle réponse, je suis l'erreur: Un objet avec la même clé existe déjà dans le ObjectStateManager. ObjectStateManager ne peut pas suivre plusieurs objets avec la même clé.
Je suis complètement perdu maintenant.