Impossible de compiler le projet après l'importation de la procédure stockée
Après l'importation d'une procédure stockée dans mon datamodel le projet d'arrêté en cours de compilation.
Il continue de me donner l'erreur:
The best overloaded method match for
'System.Data.Entity.Core.Objects.ObjectContext.ExecuteFunction<TicketDataModel.sp_get_orphanjobgrades1_Result>
(string, params System.Data.Entity.Core.Objects.ObjectParameter[])'
has some invalid arguments C:\Users\nikolaev\Documents\MySoft\TicketManager-06 11 2013\TicketManager\TicketDataModel\TicketDataModel\TicketEntities.Context.cs 105 20 TicketDataModel
et
`Argument 3: cannot convert from 'System.Data.Objects.ObjectParameter' to
'System.Data.Entity.Core.Objects.ObjectParameter'
C:\Users\nikolaev\Documents\MySoft\TicketManager-06 11 2013\TicketManager\TicketDataModel\TicketDataModel\TicketEntities.Context.cs 79 143 TicketDataModel`
Le code dans context.cs
est comme suit:
public virtual ObjectResult<sp_get_orphanjobgrades1_Result> sp_get_orphanjobgrades1(Nullable<System.DateTime> start_date, Nullable<System.DateTime> end_date)
{
var start_dateParameter = start_date.HasValue ?
new ObjectParameter("start_date", start_date) :
new ObjectParameter("start_date", typeof(System.DateTime));
var end_dateParameter = end_date.HasValue ?
new ObjectParameter("end_date", end_date) :
new ObjectParameter("end_date", typeof(System.DateTime));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<sp_get_orphanjobgrades1_Result>("sp_get_orphanjobgrades1", start_dateParameter, end_dateParameter);
}
J'ai lu que cela peut être à cause de EF 6 et que l'on a besoin de télécharger visual studio 2012 Update 1 et/ou EF 6 Outils pour VS 2012. J'ai téléchargé les outils et j'ai déjà installé la mise à jour 4, mais ça n'aide pas.
Pourquoi est-ce?
source d'informationauteur AunAun
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est que votre modèle ne sais rien à propos de nouveaux paramètres. Je suppose qu'il se passe lorsque votre modèle à l'aide de EntityFramework (EF) version inférieure (5.0 par exemple), mais dans le code que vous essayez d'utiliser EF 6.0.
Donc, vous devez réduire votre code EF 5.0, ou de mettre à niveau votre modèle à 6.0.
La mise à niveau modèle:
haut de la Console.
6.0.0" et appuyez de nouveau sur Enter;
Système.Les données.Les objets; l'utilisation de Système.Les données.Objets.DataClasses;" avec "à l'aide de
Système.Les données.De l'entité.De base.Objets;". Aussi, vous devrez peut-être faire l'
même dans tous les fichiers, où ce problème s'affiche.
Ou vous pouvez revenir EF version, utilisé dans votre code. Pour cela, vous devez faire toutes les mêmes dans les 3 premières étapes, mais dans le quatrième remplacer "-version 6.0.0" avec "-version 5.0.0". La 5ème étape n'est pas nécessaire pour cela.
Pour résoudre ce problème:
Si les conflits de versions de package d'installation pour la version respective de
EF
.Si la version est la même, changer la au-dessus de l'espace de noms de
System.Data.Entity.Core.Objects
Vous pouvez télécharger de nouveaux verions dans msdn.
dans http://www.microsoft.com/en-us/download/details.aspx?id=40762
Install-Package EntityFramework -version 6.1.0 et entrez
4.Vérifiez votre Gestionnaire de paquets et de finition.
Je veux juste ajouter que ce qui m'est arrivé après le démarrage d'un nouveau projet. Le problème était que j'avais créé un nouveau projet, et ensuite de mettre à jour le Cadre de l'Entité, ASP.Net MVC, et d'autres paquets à travers le Gestionnaire de Package NuGet. Donc, le code généré pour mon projet ne correspondait plus à ce que j'avais installé.
La solution la plus rapide pour moi a été de créer un nouveau projet puisque je n'avais pas fait de vrai travail encore. J'espère que cela aide quelqu'un d'autre.
Ma situation est un nouveau projet, et je suis allé à nuget avec Install-Package EntityFramework qui a installé la version 6.0, cependant apparemment, mon projet a déjà été mis en place avec une version antérieure? Vous ne savez pas comment, peut-être le défaut de la MVC 4.0 projet...
Donc j'ai dû faire une Désinstallation-Package-force EntityFramework suivie par
Install-Package EntityFramework -version 5.0.0
Tout a fonctionné par la suite.