我通过LINQ调用存储过程(PS_StatistiqueEsc),并在存储过程中传递3个参数start,end和engin(参见底部的代码)。
using (var escEnts = new escEntities()) {
var query = escEnts.PS_StatistiqueEsc(Convert.ToDateTime(start),
Convert.ToDateTime(end), engin).ToList();
}
到目前为止一切顺利。
我的问题是我如何将第4个参数作为列表传递(参见底部的代码)或XML作为参数:
例如:
List<int> listToPassInSP = new List<int>();
list.Add(2);
list.Add(3);
list.Add(7);
using (var escEnts = new escEntities()) {
var query = escEnts.PS_StatistiqueEsc(Convert.ToDateTime(start), Convert.ToDateTime(end), engin, listToPassInSP).ToList();
}
实际上存储过程只接受3个参数?我要改变我的sp,这将接受第四个参数。
实际的SP签名是:
ALTER PROCEDURE [dbo].[PS_StatistiqueEsc]
@dateDebut datetime,
@dateFin datetime,
@EnginName varchar(250)
AS
但会像这样改变:
ALTER PROCEDURE [dbo].[PS_StatistiqueEsc]
@dateDebut datetime,
@dateFin datetime,
@EnginName varchar(250),
@listToPassInSP ???? (i don't know how to declare a variable like a list)
AS
只想将列表传递给SP,并且SP必须接受列表。我该怎么办?