Jho*_*rra 3 c# sql-server stored-procedures entity-framework-core asp.net-core
我正在尝试在 ASP.Net Core 应用程序中运行以下命令。
await _context.Database.ExecuteSqlCommandAsync(
"EXEC AdmissionConsultEndCurrentAndPending @PracticeId @UserId @AdmissionId",
parameters: new[] { AdmissionId, assignments.UserId, assignments.PracticeId });
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用这些组合的实际命令
EXEC AdmissionConsultEndCurrentAndPending @PracticeId, @UserId, @AdmissionId
AdmissionConsultEndCurrentAndPending, @PracticeId, @UserId, @AdmissionId
Run Code Online (Sandbox Code Playgroud)
传递的三个值是三个整数。如果重要的是存储过程
ALTER PROCEDURE [dbo].[AdmissionConsultEndCurrentAndPending]
@AdmissionId INT,
@UserId INT,
@PracticeId INT
AS
BEGIN
SET NOCOUNT ON;
UPDATE
AdmissionConsults
SET
CurrentConsult = 0
WHERE
AdmissionId = @AdmissionId AND
PracticeId = @PracticeId AND
CurrentConsult = 1
END
Run Code Online (Sandbox Code Playgroud)
当我运行它时,虽然我收到以下错误: No mapping to a relational type can be found for the CLR type 'Int32[]'.
我不确定这个错误是指我作为参数传递的 int 值,还是因为它是一个更新查询,它试图返回受影响的行数的 int 值。无论哪种方式,我都还没有让它工作。
这是一种应该满足您要求的方法:
var parameters = new List<SqlParameter>
{
new SqlParameter("@PracticeId", assignmentsPracticeId),
new SqlParameter("@UserId", assignmentsUserId),
new SqlParameter("@AdmissionId", AdmissionId)
};
await _context.Database.ExecuteSqlCommandAsync(
"EXEC AdmissionConsultEndCurrentAndPending @PracticeId, @UserId, @AdmissionId",
parameters.ToArray());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
992 次 |
最近记录: |