Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从C访问数据库存储过程_C#_Sql_Asp.net - Fatal编程技术网

C# 从C访问数据库存储过程

C# 从C访问数据库存储过程,c#,sql,asp.net,C#,Sql,Asp.net,我正试图从数据库中的UserInfo表访问数据。我创建了一个存储过程,对该表执行select操作,并尝试从我的c应用程序执行该存储过程 目前,如果我在用户上运行get,即localhost:12345/user,我会得到一个500错误。它正在进入我的存储库层,但由于某种原因,当它点击using语句时失败。关于如何解决这个问题有什么想法吗 错误:500内部服务器错误 控制器 存储过程 这是一个500内部服务器错误。。。当我调试应用程序时,它会在点击using语句后立即退出我的存储库层。当然,它是5

我正试图从数据库中的UserInfo表访问数据。我创建了一个存储过程,对该表执行select操作,并尝试从我的c应用程序执行该存储过程

目前,如果我在用户上运行get,即localhost:12345/user,我会得到一个500错误。它正在进入我的存储库层,但由于某种原因,当它点击using语句时失败。关于如何解决这个问题有什么想法吗

错误:500内部服务器错误

控制器

存储过程


这是一个500内部服务器错误。。。当我调试应用程序时,它会在点击using语句后立即退出我的存储库层。当然,它是500。抛出的C异常是什么?_sqlQueryProvider是否已注入且不为null?ISqlQueryProvider是什么?@Igor,它表示对象引用未设置为对象的实例,该对象的类型为System.NullReferenceException
  public class UserController : ApiController
    {
        private readonly IUserBusiness _userBusiness;

        public UserController(IUserBusiness userBusines)
        {
            _userBusiness = userBusines;
        }

        [HttpGet]
        [Route("user")]
        public async Task<ApiResponse<Status, IEnumerable<UserInfo>>> ListUsers()
        {
            return await _userBusiness.ListUsers();
        }
    }
public class UserBusiness : IUserBusiness
{
    public readonly IUserRepository _userRepository;

    public UserBusiness(IUserRepository userRepository)
    {
        _userRepository = userRepository;
    }

    public async Task<ApiResponse<Status, IEnumerable<UserInfo>>> ListUsers()
    {
        return new ApiResponse<Status, IEnumerable<UserInfo>>(Status.Success, await _userRepository.ListUsersInfo());
    }
}
public class UserRepository : IUserRepository
{
    private readonly ISqlQueryProvider _sqlQueryProvider;

    public UserRepository(ISqlQueryProvider sqlQueryProvider)
    {
        _sqlQueryProvider = sqlQueryProvider;
    }

    public async Task<List<UserInfo>> ListUserInfo()
    {
        using (var reader = _sqlQueryProvider.Execute(RepositorySettings.DatabaseConnection, ListUserInfo_Proc, null))
        {
            return reader.Read<ListUserInfo>().ToList();
        }
    }
}
public class UserInfo

{
    public int UserId {get; set;}
    public string Username {get; set;}
    // Properties continue...
}
Use DatabaseName;
Go

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE ListUserInfo_Proc
AS
BEGIN
    SET NOCOUNT ON;

    SELECT UserId, UserName -- the list continues
    FROM User
END