Disons que j'ai deux tables dans SQL que je veux avoir un modèle EDMX généré à partir (pour l'instant, d'aller avec la génération automagique pour tout) en utilisant des modèles POCO T4. Disons que nos deux tables sont Person (ID, FName, LName)
et Comment (ID, PersonID, CommentText, CommentDate)
avec une relation un-à-plusieurs entre les deux (c'est-à-dire que vous pouvez faire beaucoup de commentaires sur une personne).Ajout d'une propriété personnalisée à mon EF4 modèle
mes entités POCO Comment s'y rendre générés à partir de c'est trivial et fonctionne à merveille. Ce que je ne sais pas comment faire maintenant, cependant, est d'ajouter une propriété de navigation personnalisée sur mon entité Person
qui représente le commentaire le plus récent pour cette personne (éventuellement quelque chose d'encore plus complexe que cela sera finalement nécessaire). Pour l'instant, c'est bien que ce soit en lecture seule, mais il serait bon de savoir aussi gérer une propriété accessible en écriture.
Quelle est la bonne façon de faire cela? Une chose à considérer est que je suis en train de sérialiser ces entités, donc je vais avoir besoin d'eux pour être chargé et persister de manière à pouvoir les pousser vers mon interface utilisateur avec WCF au milieu (c'est-à-dire une propriété personnalisée manuscrite en une classe d'extension qui repose sur un chargement paresseux n'est pas une option).
Je suis devenu assez bon à l'aide EF4 pour des trucs standard, mais maintenant que je suis entrer dans ce genre de choses personnalisé, je ne suis pas tout à fait sûr comment faire cela dans une meilleure façon de pratique.
Idéalement, je veux appeler 'Person.LatestComment' et cela équivaut à appeler' Person.Comments.OrderByDescending (c => c.CommentDate) .FirstOrDefault() '. – Jaxidian