Tox*_*xic 2 stored-procedures .net-core entity-framework-core-2.1
我正在 .NET Core 应用程序中使用 Entity Framework Core 2.1。我已经编写了存储过程来通过上下文查询类型获取声明列表,它采用三个参数,其中两个是可为空的 Guid。它工作正常,因为没有空参数传递但传递空参数,它会抛出错误
https://docs.microsoft.com/en-us/ef/core/modeling/query-types
The parameterized query '(@UserVal uniqueidentifier,@ClientVal nvarchar(4000),@Consultati' expects the parameter '@ClientVal', which was not supplied.
Run Code Online (Sandbox Code Playgroud)
public override IQueryable<GetSystemClaims> Execute()
{
public Guid UserId { get; set; }
public Guid? ClientId { get; set; }
public Guid? ConsultationId { get; set; }
var userParam = new SqlParameter("@UserVal", UserId);
var clientParam = new SqlParameter("@ClientVal", ClientId);
var consultationParam = new SqlParameter("@ConsultationVal", ConsultationId);
var userClaimsList = Context.Query<UserClaimsQueryView>().FromSql("EXECUTE dbo.ListUserClaims @userId=@UserVal, @clientId=@ClientVal, @consultationId=@ConsultationVal"
, userParam, clientParam, consultationParam);
return userClaimsList;
}
Run Code Online (Sandbox Code Playgroud)
var userParam = new SqlParameter("@UserVal", UserId);
var clientParam = new SqlParameter("@ClientVal", SqlDbType.UniqueIdentifier);
clientParam.Value = (object)ClientId ?? DBNull.Value;
var consultationParam = new SqlParameter("@ConsultationVal", SqlDbType.UniqueIdentifier);
consultationParam.Value = (object)ConsultationId ?? DBNull.Value;
var userClaimsList = Context.Query<UserClaimsQueryView>().FromSql("EXECUTE dbo.ListUserClaims @userId=@UserVal, @clientId=@ClientVal, @consultationId=@ConsultationVal"
, userParam, clientParam, consultationParam);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3767 次 |
| 最近记录: |