首页 > 解决方案 > '对于 CLR 类型'char[]',找不到到关系类型的映射。' 在 Asp Core 2.2 中使用 SP 时

问题描述

我需要SP从 Sql 中使用它:

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核心中调用这个sp:

    public IEnumerable<dynamic> GetUserOfRole(int id)
    {
        return TableAsNoTracking.FromSql("EXEC usp_GetUsrsofRole @RoleId", parameters: new[] { id }).ToList();
    }

现在当我需要使用它时sp,它会告诉我这个错误:

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

有什么问题 ??我该如何解决这个问题?

标签: c#asp.netasp.net-coreasp.net-web-api

解决方案


推荐阅读