Entity framework 使用EF将复杂对象列表传递给存储过程

Entity framework 使用EF将复杂对象列表传递给存储过程,entity-framework,stored-procedures,parameters,Entity Framework,Stored Procedures,Parameters,目前,我的存储过程接受1个int参数,但我还需要将“表a”中的记录列表传递给存储过程,因此我创建了一个与“表a”的列匹配的类型,并将其添加到SP的参数中 但是,当我使用EF将SP导入到项目中时,唯一的参数是整数 我的类型: CREATE TYPE TableA_Type AS TABLE ( [Id] [int] NOT NULL, [colA] [int] NOT NULL, [colB] [int] NOT NULL, other columns...

目前,我的存储过程接受1个int参数,但我还需要将“表a”中的记录列表传递给存储过程,因此我创建了一个与“表a”的列匹配的类型,并将其添加到SP的参数中
但是,当我使用EF将SP导入到项目中时,唯一的参数是整数

我的类型:

CREATE TYPE TableA_Type AS TABLE (   
    [Id] [int] NOT NULL,
    [colA] [int] NOT NULL,
    [colB] [int] NOT NULL,
    other columns...
);
我的表A:

CREATE TABLE TableA (   
    [Id] [int] NOT NULL,
    [colA] [int] NOT NULL,
    [colB] [int] NOT NULL,
    other columns...
);
我的SP:

CREATE PROCEDURE MySP
     @MyInt INT,
     @Values TableA_Type READONLY
AS
BEGIN
    --DO STUFF
END
SP在上下文中自动生成导入:

public virtual int MySP(Nullable<int> myInt)
{
    var myIntParameter = myInt.HasValue ?
        new ObjectParameter("MyInt", myInt) :
        new ObjectParameter("MyInt", typeof(int));

    return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("MySP", myIntParameter);
}
公共虚拟整数MySP(可空myInt)
{
var myIntParameter=myInt.HasValue?
新对象参数(“MyInt”,MyInt):
新的ObjectParameter(“MyInt”,typeof(int));
返回((IObjectContextAdapter)this.ObjectContext.ExecuteFunction(“MySP”,myIntParameter);
}