Le type de Paramètre dans l'Exécution de la Fonction est incompatible avec le type retourné par la fonction

J'obtiens l'erreur suivante lorsque vous essayez d'importer une procédure stockée comme une fonction dans l'Entity Framework 5. J'ai récemment mis à jour les données de référence de la nouvelle version de EF.

Le paramètre de type 'les disques SSD.Les données.testy_Result " dans ExecuteFunction est
incompatible avec le type 'les disques SSD.Les données.testy_Result " remis par le
fonction.

Je ne peux pas le faire fonctionner pour n'importe quel stockées proc...voici mon test simple:

CREATE PROCEDURE testy

AS
BEGIN
    select 'hello' as hello
END
GO

Elle rompt avec l'exception ci-dessus ici:

 public virtual ObjectResult<testy_Result> testy()
    {
        return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<testy_Result>("testy");
    }

Et il n'y a pas d'erreur quand j'ai mis le résultat dans une chaîne de scalaire dans la Fonction Éditer la fenêtre d'Importation dans le concepteur de modèle.

Je vais appeler la fonction comme ceci:

private Entities db = new Entities();
var x = db.testy();

Il est évident que je suis en manque ici? Il y a quelques edmx fichiers dans mon projet et les autres ont été créés avec une version plus ancienne de EF (et l'utilisation de ObjectContext).

Fonction De Mappage:

Le type de Paramètre dans l'Exécution de la Fonction est incompatible avec le type retourné par la fonction

Plus De La Fonction De Mappages De Détail:

Le type de Paramètre dans l'Exécution de la Fonction est incompatible avec le type retourné par la fonction

testy_Result classe:

  public partial class testy_Result
    {
        public string hello { get; set; }
    }
Lancez la valeur de la procédure de type varchar ou nvarchar
Vérifier les correspondances de votre fonction importée match sélectionné le type de retour. Dans l'Explorateur de modèles, cliquez-droit sur une fonction importée et choisir la Fonction de Mappage d'Importation'. Assurez-vous que les propriétés de la gauche correspondre les champs sur la droite
coulée dans le proc ne vous aide pas
la fonction mappages semble correct
Essayez ceci: select cast('hello' as varchar(30)) as hello

OriginalL'auteur woggles | 2013-05-08