所以執行存儲過程,我想從一個字符串執行存儲過程以獲得大量的數據,但我得到一個如何從字符串
數據讀取器有一個以上的場。多個字段不適用於電火花加工的原始或枚舉類型
我怎麼可能執行我的存儲過程
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>();
}
}
}
}
如果我嘗試排除我的參數之一,從SP作爲
public 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();
}
}
}
}
我得到一個
附加信息:閱讀器與指定的'SindalDbModel.usp_getCar_Result'不兼容。該類型的成員'ID1'在數據閱讀器中沒有相應的列具有相同的名稱。
你的標籤都是錯的。 –
好,是一個網頁API在實體和C#maded? –
老實說,如果你inly搜索實體框架存儲過程,你會得到你想要的答案 –