2010-05-17 5 views
0

Tous,mappées Procédures stockées dans EF 1

J'utilise cartographiées des procédures stockées dans EF 1. J'ai terminé les étapes suivantes:

  1. J'ai créé mon INSERT, UPDATE, et SUPPRIMER des requêtes dans SQL Server.
  2. J'ai construit l'EDMX et importé les sprocs INSERT, UPDATE et DELETE dans le cadre de mon modèle.
  3. J'ai mis en place un mappage de procédure stockée sur une table à l'intérieur de mon fichier EDMX. Les sprocs INSERT, UPDATE et DELETE ont été mappés en conséquence.

En utilisant cette approche, je compterais reconstruire l'application (et le mien construit avec succès), puis voir les procédures stockées sous forme de noms de fonctions disponibles via mon objet EDMX, tels que:

_entities.InsertComment(..), 
_entities.UpdateComment(..), 
and 
_entities.DeleteComment(..) 

IntelliSense est ne pas choisir ces noms et je n'arrive pas à comprendre pourquoi. Si j'effectue ces mêmes étapes à l'aide de EF4, les noms de fonction sont automatiquement récupérés par Intellisense après l'ajout des mappages de procédure stockée.

Est-ce un bug dans EF1? Y a-t-il autre chose que je devrais faire?

Merci à l'avance,

Mike

Répondre

1

Dans EF 1 Vous devez mapper vos "Fonction" Les importations à un type de retour spécifié.

1) Créer une entité dans le EDMX qui a des propriétés qui correspondent à la signature de retour de la procédure stockée

2) Définissez le type de retour du SP importé dans le modèle Browser

Alternativement, si vous avez envie En utilisant une autre bibliothèque, vous pouvez utiliser le projet EFExtensions et Materialize une procédure stockée dans une classe.