小编Jer*_*erf的帖子

使用 ExecuteSqlCommand 调用存储过程(需要未提供的参数)

我正在尝试使用 EF 调用存储过程,context.Database.ExecuteSqlCommand因为我的参数之一是数据表。

以下是该过程的参数:

ALTER PROCEDURE [mySchema].[myProc]
    @customerId INT,
    @indicatorTypeId INT,
    @indicators [mySchema].[IndicatorList] READONLY,
    @startDate DATETIME,
    @endDate DATETIME
Run Code Online (Sandbox Code Playgroud)

这是调用存储过程的 C# 代码:

var indicatorsDt = new DataTable();

indicatorsDt.Columns.Add("Date", typeof(DateTime));
indicatorsDt.Columns.Add("Ongoing", typeof(int));
indicatorsDt.Columns.Add("Success", typeof(int));
indicatorsDt.Columns.Add("Warning", typeof(int));
indicatorsDt.Columns.Add("Error", typeof(int));
indicatorsDt.Columns.Add("Other", typeof(int));

var customerIdParam = new SqlParameter("customerId", SqlDbType.Int);
customerIdParam.Value = customerId;

var typeIdParam = new SqlParameter("indicatorTypeId", SqlDbType.Int);
typeIdParam.Value = typeId;

var startDateParam = new SqlParameter("startDate", SqlDbType.DateTime);
startDateParam.Value = startDate;

var endDateParam = new SqlParameter("endDate", SqlDbType.DateTime);
endDateParam.Value = endDate;

foreach (var indicator in …
Run Code Online (Sandbox Code Playgroud)

c# sql-server stored-procedures entity-framework

4
推荐指数
1
解决办法
3万
查看次数