Comment obtenez-vous un DbEntityEntry EntityKey objet avec un nom inconnu
Ne devrais-je pas être en mesure d'obtenir la EntityKey objet à l'aide de la propriété du complexe de méthode ou propriété de la méthode pour la DbEntityEntry. Je ne pouvais pas trouver des exemples MSDN, mais je présume que c'est possible dans Entity Framework 5. Je sais pas le nom de l'entité de la clé ou de l'entité que je suis en utilisant un référentiel générique de l'interface.
Pouvez-vous partager votre code? Pouvez-vous partager le exact de l'erreur/exception-vous que vous obtenez? Merci de ne pas inclure les balises dans votre titre. Est-ce spécifique à Entity Framework 5?
Oui, il est spécifique à Entity Framework 5 , c'est pourquoi j'ai précisé dans le titre et ma réelle question.
Pas de code parce que c'est juste une question théorique. J'ai trouvé d'autres moyens pour obtenir la valeur de la clé primaire de l'entité, mais j'étais curieux de savoir si vous pourriez obtenir à partir de ce chemin
Oui, il est spécifique à Entity Framework 5 , c'est pourquoi j'ai précisé dans le titre et ma réelle question.
Pas de code parce que c'est juste une question théorique. J'ai trouvé d'autres moyens pour obtenir la valeur de la clé primaire de l'entité, mais j'étais curieux de savoir si vous pourriez obtenir à partir de ce chemin
OriginalL'auteur Breadtruck | 2013-04-09
Vous devez vous connecter pour publier un commentaire.
Si vous avez un
DbEntityEntry
objet, vous obtenez leEntityKey
par trouver le enveloppésObjectContext
:Alors vous pouvez trouver de l'entité clé en
MODIFIER
J'ai créé deux méthodes d'extension qui vous proche de ce que vous voulez:
Maintenant vous pouvez le faire
ou
Le moteur d'exécution de choisir le droit de surcharge.
Notez que la syntaxe que vous avez proposé (
dbEntityEntryObject.Property<EntityKey>()
) ne peut pas fonctionner lorsque l'entité a une clé composite. Vous devez obtenir laEntityKey
de l'entité elle-même.Je pense même qu'il ne devrait pas être difficile d'introduire une propriété
dbEntityEntryObject.EntityKey
. Vous pourriez présenter une demande de modification, ou de vérifier si elle est déjà là: entityframework.codeplex.com/workitem/list/basic.Merci, ces méthodes d'extension viendra dans maniable. Je suppose qu'à la fin de votre solution est sans doute la façon dont l'ef base de code serait changé de toute façon.
Ne fonctionne pas avec du recul des entités. Toutes les solutions?
Ne fonctionne pas du tout pour moi, EF6, le premier modèle, les modèles de T4, cela renvoie toujours null pour les objets qui sont nouvellement créé ... des solutions?
OriginalL'auteur Gert Arnold