Reflète les modifications apportées à la procédure stockée dans le type complexe généré par Entity Framework

Donc j'ai une DB SQL Server que je suis de la connexion et de l'utilisation d'Entity Framework 4.1 pour générer mes classes POCO, qui fonctionne généralement assez bien. Il existe également des procédures stockées que je suis en utilisant la fonction "importer" pour créer récupérer la résultante de lignes de données à partir de l'appelant. Essentiellement, le processus que j'utilise est:

  1. Cliquez-droit sur le Modèle.edmx et choisissez la Fonction "Importer..."
  2. Choisir la procédure à partir de la liste déroulante
  3. Entrer dans mon choix de la Fonction d'Importation Nom
  4. Cliquez Sur "Obtenir Les Informations D'Une Colonne"
  5. Cliquez Sur "Créer Un Nouveau Type Complexe"
  6. Cliquez sur "OK"

et qui permettra de créer un POCO de classe pour l'ensemble de résultats de définition et je peux faire quelque chose comme:

var query = context.GetMyStuff().AsQueryable();

pour récupérer les résultats. Cela semble très bien fonctionner.

Maintenant, le problème que je vais avoir, c'est quand j'essaie de modifier une procédure stockée, puis obtenir les modifications se propagent à mon code. Par exemple, j'ai ajouté une colonne à une table, puis mise à jour de la procédure stockée pour retourner la colonne de données dans le cadre des résultats. Je ne vois pas comment faire pour que la mise à jour se propager dans la fonction d'importation des trucs, c'est à dire, obtenir l'généré POCO avoir une nouvelle propriété pour que l'ajout de la colonne.

Ce qui est de la perceuse pour faire cette mise à jour sur la procédure de réfléchir en C#? Je vais faire une nouvelle classe à chaque fois? N'était pas évident pour moi comment faire.


Informations Supplémentaires:

Quand j'ai essayé de "mettre à Jour" le type Complexe, comme suggéré dans la réponse donnée par Ladislav à cette questionje reçois un message d'erreur "Vérifier que le FunctionImport nom est unique."

Si j'essaie ce que E. J. Brennan suggère ci-dessous, je reçois le même message d'erreur.

Ce ne de travail, au moins pour moi, est d'ouvrir le Modèle.fichier edmx dans Notepad++, trouver le FunctionImport ligne et de le supprimer puis de le régénérer. Ce n'est pas idéal, mais cela a fonctionné.

source d'informationauteur itsmatt