Bonsoir,
J'ai un petit soucis que je n'arrive pas � r�soudre malgr� mes multiples recherches.
En effet, j'ai une proc�dure stock�e qui attend un param�tre (l'id du client) afin d'effectuer un select.
Sur SQL tout se passe bien, quand j'exec j'ai le r�sultat voulu..
Par contre sous MVC j'ai un 'bug' par rapport (je pense) � mon param�tre...
Voici des exemples de mon code:
Mon contr�leur:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using DAL; namespace EphecAirlinesClient.Controllers { public class OverviewController : Controller { private Ephec_AirlinesEntities contexteEF = new Ephec_AirlinesEntities(); // GET: Overview public ActionResult Index(int? id) { return View(contexteEF.Sp_Select_All_Reservation_By_Id_Client(id)); } } }
Ma proc�dure stock�e (qui fonctionne):
Ma vue:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 ALTER PROCEDURE [dbo].Sp_Select_All_Reservation_By_Id_Client @IdClient INT AS BEGIN SET NOCOUNT ON; SELECT r.RES_Id AS "Réservation n°", p.PLA_Date AS "Date du vol", vdepart.VIL_Libelle AS 'Départ', varrivee.VIL_Libelle AS 'Arrivée', r.RES_Prix_Total AS "Prix total" FROM Reservation r JOIN Client AS c ON c.CLI_Id = r.RES_Client_Id JOIN Planning p ON p.PLA_Id = r.RES_Pla_Id JOIN Vol AS v ON v.VOL_Id = p.PLA_Vol_Id JOIN Ville AS vdepart ON vdepart.VIL_Id = v.VOL_Vil_Depart_Id JOIN Ville AS varrivee ON varrivee.VIL_Id = v.VOL_Vil_Arrivee_Id WHERE c.CLI_Id = @IdClient END
Mon message d'erreur:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 @model DAL.Sp_Select_All_Reservation_By_Id_Client_Result @{ ViewBag.Title = "Visualiser mes vols"; } <h2>Visualiser mes vols</h2> <div> <hr /> <dl class="dl-horizontal"> <dt> @Html.DisplayNameFor(model => model.Réservation_n_) </dt> <dd> @Html.DisplayFor(model => model.Réservation_n_) </dd> <dt> @Html.DisplayNameFor(model => model.Date_du_vol) </dt> <dd> @Html.DisplayFor(model => model.Date_du_vol) </dd> <dt> @Html.DisplayNameFor(model => model.Départ) </dt> <dd> @Html.DisplayFor(model => model.Départ) </dd> <dt> @Html.DisplayNameFor(model => model.Arrivée) </dt> <dd> @Html.DisplayFor(model => model.Arrivée) </dd> <dt> @Html.DisplayNameFor(model => model.Prix_total) </dt> <dd> @Html.DisplayFor(model => model.Prix_total) </dd> </dl> </div> <p> @Html.ActionLink("Edit", "Edit", new { /* id = Model.PrimaryKey */ }) | @Html.ActionLink("Back to List", "Index") </p>
Merci d'avance...Erreur du serveur dans l'application '/'.
L'�l�ment de mod�le pass� dans le dictionnaire est de type � System.Data.Entity.Core.Objects.ObjectResult`1[DAL.Sp_Select_All_Reservation_By_Id_Client_Result] �, mais ce dictionnaire requiert un �l�ment de mod�le de type � DAL.Sp_Select_All_Reservation_By_Id_Client_Result �.
Description : Une exception non g�r�e s'est produite au moment de l'ex�cution de la requ�te Web actuelle. Contr�lez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
D�tails de l'exception: System.InvalidOperationException: L'�l�ment de mod�le pass� dans le dictionnaire est de type � System.Data.Entity.Core.Objects.ObjectResult`1[DAL.Sp_Select_All_Reservation_By_Id_Client_Result] �, mais ce dictionnaire requiert un �l�ment de mod�le de type � DAL.Sp_Select_All_Reservation_By_Id_Client_Result �.
EDIT:
J'ajoute le fait que quand j'essaye avec SqlParameter j'ai le probl�me suivant:
En gros je sais le faire en ADO.Net sauf que le prof souhaite qu'on fasse une partie d'un projet avec Entity Framework..Erreur CS1503 Argument 1*: conversion impossible de 'System.Data.SqlClient.SqlParameter' en 'int?' EphecAirlinesClient C:\Users\j0n\source\Projet\EphecAirlinesClient\EphecAirlinesClient\Controllers\OverviewController.cs 26 Actif
Partager