JsonResult ASP.NET Entity Framework 核心错误

JsonResult ASP.NET Entity Framework Core Error

我正在通过 ASP.Net Core 1.0 和 EF Core 创建一个应用程序。我用 AutoaMapper 映射了我的模型和视图模型。

当我创建一个控制器并调用它时,我得到这个错误:

Error Number:208,State:1,Class:16 Exception thrown: 'System.Data.SqlClient.SqlException' in Microsoft.EntityFrameworkCore.dll CRAMSCore1.Models.CramsRepository:Error: Error getting complaints Microsoft.AspNetCore.Mvc.Formatters.Json.Internal.JsonResultExecutor:Information: Executing JsonResult, writing value.

当我在 SSMS 上检查我的 Sql Profiler 时,我确实看到它正在查询数据库:

SQL:BatchCompleted SELECT [c].[COMP_ID], [c].[AddrCity], [c].[AddrState], [c].[AddrZip], [c].[Address], [c].[CRORoute_DT] FROM [Complaints] AS [c] Core .Net SqlClient Data Provider

我的存储库看起来很简单:

public IEnumerable<COMPLAINT> getAll()
    {
        try
        {
            return _context.Complaints
                .ToList();
        }
        catch (Exception ex)
        {
            _logger.LogError("Error getting complaints", ex);
            return null;
        }
    }

我的控制器看起来像:

[HttpGet("")]
    public JsonResult Get()
    {
        var complaints = _repository.getAll();
        var results = Mapper.Map<IEnumerable<ComplaintViewModel>>(complaints);
        return Json(complaints);
    }   

SQL 手动给你什么 运行?该错误似乎与您的 JSONResult 没有任何关系,但更多与通过 EF 从 SQL 检索数据有关。

我也猜你的 return 应该是

return Json(results);