Pas de mapping existe de l'objet type de Système.Les Collections.Génériques.Liste lors de l'exécution de la procédure stockée avec des paramètres en EF 4.3

Dernièrement, j'ai travaillé sur la procédure stockée et rencontré 1 problème étrange.

Tout d'abord, j'ai été en mesure de réussir un appel à une procédure stockée dans la base de données via:

IList<XXXViewModel> XXXList =
_context.La base de données.SqlQuery("spXXX").ToList();

Mais quand j'ai eu besoin de passer des paramètres qu'il a échoué:

var parameters = new List<SqlParameter>();
parameters.Add(new SqlParameter("param1", param1Value));
parameters.Add(new SqlParameter("param2", param2Value));
IList<XXXViewModel> XXXList =
_context.Database.SqlQuery<XXXViewModel>("spXXX @param1, @param2", parameters).ToList();

Et j'ai eu la ff, erreur:

Pas de mapping existe de type de l'objet
Système.Les Collections.Génériques.Liste`1[[Système.Les données.SqlClient.SqlParameter,
Système.De données, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089]] à un fournisseur géré en natif
type.

Noter que j'ai également essayé:

_context.Database.ExecuteSqlCommand<EXEC XXXViewModel>("spXXX @param1, @param2", parameters).ToList();

Mais il a obtenu le même résultat :-(.

Aussi j'ai essayé d'appeler, en spécifiant chacun des paramètres:

IList<XXXResult> query = Context.Database.SqlQuery<XXXResult>("SP @paramA, @paramB, @paramC", new SqlParameter("paramA", "A"), new SqlParameter("paramB", "B"), new SqlParameter("paramC", "C")).ToList();

Quelqu'un a une idée?

InformationsquelleAutor czetsuya | 2012-02-05