C# ';找不到CLR类型';字符[]'';在Asp Core 2.2中使用SP时

C# ';找不到CLR类型';字符[]'';在Asp Core 2.2中使用SP时,c#,asp.net,asp.net-core,asp.net-web-api,C#,Asp.net,Asp.net Core,Asp.net Web Api,我需要使用Sql中的SP: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[usp_GetUsrsofRole] (@RoleId int) AS ;WITH CTE_UsersInRole AS ( SELECT U.Id AS [UserId], U.Name AS [UserName] , U.Family AS [UserFamily] , R.Id AS[RoleI

我需要使用Sql中的
SP

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[usp_GetUsrsofRole] (@RoleId int)
AS
;WITH CTE_UsersInRole AS
(
    SELECT 
     U.Id AS [UserId], U.Name AS [UserName] , U.Family AS [UserFamily] , R.Id AS[RoleID],R.Name AS [RoleName]
    FROM AspNetUserRoles AU 
    INNER JOIN AspNetRoles R ON R.Id=AU.RoleId
    INNER JOIN AspNetUsers U ON U.ID=AU.UserId
)
SELECT
     C.RoleID,C.RoleName,C.UserFamily,C.UserId,C.UserName
FROM CTE_UsersInRole C
    WHERE C.RoleID=@RoleId
GO
我通过以下方式在asp core中调用此sp:

    public IEnumerable<dynamic> GetUserOfRole(int id)
    {
        return TableAsNoTracking.FromSql("EXEC usp_GetUsrsofRole @RoleId", parameters: new[] { id }).ToList();
    }
public IEnumerable GetUserOfRole(int-id)
{
返回TableAsNoTracking.FromSql(“EXEC usp_GetUsrsofRole@RoleId”,参数:new[]{id}).ToList();
}
现在,当我需要使用此
sp
时,它会显示以下错误:

'找不到CLR类型'char[]到关系类型的映射。'


有什么问题吗??如何解决此问题?

请不要像这样尝试
new[]{}
返回TableAsNoTracking.FromSql(“EXEC usp_GetUsrsofRole@RoleId”,id).ToList()
@MohsinMehmood它向我显示了这个错误:
必须声明标量变量“@RoleId”
返回TableAsNoTracking.FromSql(“EXEC usp_GetUsrsofRole@p0”,id).ToList()
@MohsinMehmood我在表
IsDeleted
中有一个属性,现在它向我显示此
所需列“IsDelete”在“FromSql”操作的结果中不存在。
无法根据现有代码重现问题。你能提供相关的模型定义吗?如果您使用的是Entity Framework Core 2.x,请查看查询类型()。不要像这样尝试
new[]{}
return TableAsNoTracking.FromSql(“EXEC usp_GetUsrsofRole@RoleId”,id).ToList()
@MohsinMehmood它向我显示了这个错误:
必须声明标量变量“@RoleId”
返回TableAsNoTracking.FromSql(“EXEC usp_GetUsrsofRole@p0”,id).ToList()
@MohsinMehmood我在表
IsDeleted
中有一个属性,现在它向我显示此
所需列“IsDelete”在“FromSql”操作的结果中不存在。
无法根据现有代码重现问题。你能提供相关的模型定义吗?如果您使用的是EntityFrameworkCore2.x,请查看查询类型()。