So auszuführen, ich versuche, eine gespeicherte Prozedur aus einer Zeichenfolge auszuführen eine breite Palette von Daten zu bekommen, aber ich erhalte einenWie eine gespeicherte Prozedur aus Zeichenfolge
Der Datenleser mehr als ein Feld hat . Mehrere Felder sind nicht gültig für EDM primitiven oder Aufzählungstyp
Wie wohl ich meine gespeicherte Prozedur ausführen
public class CarBLL
{
public static string GetCar(string carnumberxx, string authTicketxx)
{
using (var context = new SindalDBEntities())
{
var doerTicket = "0x0100000067294c938207c9e5e0cb6b98ddc4edd9464bc14e68b59cbc73c9dc559c5d43ad9b3705d1720a52542e0220b7df11b2e4bd913d873b1aa18c";
var stamdata = "G0057";
String sql =
"SET NOCOUNT ON; " +
"EXEC [file].[usp_getCar] " +
"@p_CarNumber= '" + stamdata + "', " +
"@p_DoerTicket= '" + doerTicket + "' ";
List<SqlParameter> sqlParams = new List<SqlParameter>();
sqlParams.Add(new SqlParameter("CarNumber", System.Data.SqlDbType.VarChar, 100, stamdata));
sqlParams.Add(new SqlParameter("DoerTicket", System.Data.SqlDbType.VarChar, 100, doerTicket));
return context.Database.SqlQuery<string>(sql).FirstOrDefault<string>();
}
}
}
}
Wenn ich versuche, als
einen meiner Parameter aus der SP auszuschließenpublic static usp_getCar_Result GetCar(string carnumber, string authTicket)
{
using (var context = new SindalDBEntities())
{
int? id = null;
// ObjectParameter Id = new ObjectParameter("p_ID", typeof(global::System.Int32));
// ObjectResult result = new ObjectResult("usp_getCar_Result", typeof(string));
return context.usp_getCar(id, carnumber, authTicket).FirstOrDefault();
}
}
}
}
I erhält eine
Zusätzliche Informationen: Die Daten, Leser ist nicht kompatibel mit dem angegebenen 'SindalDbModel.usp_getCar_Result'. Ein Mitglied des Typs 'ID1' hat keine entsprechende Spalte im Datenleser mit demselben Namen.
Ihre Tags sind alle falsch. –
Nun ist ein Web-API in der Citymitgliedschaft und C#? –
Ehrlich, wenn Sie nur Entity-Framework gespeicherte Prozedur suchen Sie würde die Antwort bekommen Sie wollen –