在linq中传递参数作为列表(LINQ TO ENTITIES EF6)?

时间:2014-08-08 14:46:49

标签: c# linq entity-framework parameters

我通过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必须接受列表。我该怎么办?

0 个答案:

没有答案