繁体   English   中英

使用用户定义的参数调用存储过程

[英]Call stored procedure with user defined parameter

是否可以使用用户定义表类型的参数B调用过程A?

CREATE PROCEDURE A
(
    @MyTable B READONLY
)
AS
BEGIN
   SELECT * FROM C;
END

CREATE TYPE B AS TABLE 
(
   ID int, 
   PRIMARY KEY (ID)
)

EF-6是我使用的版本。

要执行存储过程,可以使用SqlQuery<T>并且可以使用DataTable传递表值参数

var dt = new DataTable();
dt.Columns.Add("ID");
dt.Rows.Add(new object[]{ 1 });
dt.Rows.Add(new object[]{ 2 });
dt.Rows.Add(new object[]{ 3 });

var sqlParam = new SqlParameter("MyTable", dt){ TypeName = "B" };
var query = db.Database.SqlQuery<CModel>("A @MyTable", sqlParam);
var cmodels = query.ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM