C# MVVM ASP. net Ошибка неявного преобразования API - PullRequest
0 голосов
/ 14 февраля 2020

Новое в API веб-приложений и попытка создать веб-приложение, которое предоставляет данные из нашей среды DWH приложению через API.

Мои модели:

bed_data_dbconnect - модель контекста:

     using Microsoft.EntityFrameworkCore;

     namespace BED_MGMT_WEBAPP_APIs.Models
       {
         public class bed_data_dbconnect : DbContext
         {
         public bed_data_dbconnect(DbContextOptions options) : base(options)
         { }

         public DbSet<Bed_Data> tblBase_BEDMGMT_BEDS_BY_WARD { get; set; }
     }
 }

модель bed_data

 using System;

 namespace BED_MGMT_WEBAPP_APIs.Models
 {
     public class Bed_Data
     {
    public string HOSPITAL {get;set;}
    public string WARD_CODE {get;set;}
    public string WARD {get;set;}
    public string REALTIME_BED_STOCK {get;set;}
    public string ACTUAL_BED_STOCK {get;set;}
    public string AVAILABLE_BEDS_M {get;set;}
    public string AVAILABLE_BEDS_F {get;set;}
    public string AVAILABLE_BEDS_C {get;set;}
    public string TOTAL_BEDS_CLOSED {get;set;}
    public string CLOSED_AND_UNOCCUPIED {get;set;}
    public string ESCALATION_BEDS_IN_USE {get;set;}
    public string DISCHARGES_CONFIRMED_M {get;set;}
    public string DISCHARGES_CONFIRMED_F {get;set;}
    public string DISCHARGES_CONFIRMED_C {get;set;}
    public string DISCHARGES_POTENTIAL_M {get;set;}
    public string DISCHARGES_POTENTIAL_F {get;set;}
    public string DISCHARGES_POTENTIAL_C {get;set;}
    public string AWAITING_ADMISSION_AE_M {get;set;}
    public string AWAITING_ADMISSION_AE_F {get;set;}
    public string AWAITING_ADMISSION_AE_C {get;set;}
    public string AWAITING_ADMISSION_INTERNAL_M {get;set;}
    public string AWAITING_ADMISSION_INTERNAL_F {get;set;}
    public string AWAITING_ADMISSION_INTERNAL_C {get;set;}
    public string AWAITING_ADMISSION_EXTERNAL_M {get;set;}
    public string AWAITING_ADMISSION_EXTERNAL_F {get;set;}
    public string AWAITING_ADMISSION_EXTERNAL_C {get;set;}
    public string AWAITING_REPATRIATION_IN {get;set;}
    public string AWAITING_REPATRIATION_OUT {get;set;}
    public string OUTLIERS_MED {get;set;}
    public string OUTLIERS_SURG {get;set;}
    public string OUTLIERS_ORTH {get;set;}
    public string STAFFING_SHORTAGES {get;set;}
    public string USER_CODE {get;set;}
    public string DATETIME_RECORD_INSERTED {get;set;} //= System.Convert.ToDateTime() 

    }
 }

строка подключения дБ в моем файле запуска:

  public void ConfigureServices(IServiceCollection services)
    {
        string connectionString = Configuration.GetConnectionString("DefaultConnection");
        services.AddDbContext<bed_data_dbconnect>(opt => opt.UseSqlServer(connectionString));
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
    }

Контроллер:

 using Microsoft.AspNetCore.Mvc;
 using System.Collections.Generic;
 using System.Linq;
 using BED_MGMT_WEBAPP_APIs.Models;


 namespace BED_MGMT_WEBAPP_APIs.Controllers
 {
   [Route("api/[Controller]")]
   [ApiController]

    public class bed_data_controller : Controller
    {
    private bed_data_dbconnect _bed_data;

    public bed_data_controller(bed_data_dbconnect context)
    {

    _bed_data = context;

    }

    //Get api/values
    [HttpGet]

    public ActionResult<IEnumerable<bed_data_dbconnect>> Get()
    {

        return _bed_data.tblBase_BEDMGMT_BEDS_BY_WARD.ToList();


    }

    ~bed_data_controller()
    {

        _bed_data.Dispose();

    }



     }
 }

Я пытаюсь чтобы вернуть содержимое этой таблицы в список, чтобы проверить, что API работает должным образом, но вышеприведенный контроллер генерирует ошибку:

Невозможно неявно преобразовать тип 'System.Collections.Generi c. Перечислите «to» Microsoft.AspNetCore. Mvc .ActionResult> '[BED_MGMT_WEBAPP_APIs]

в этой строке:

 return _bed_data.tblBase_BEDMGMT_BEDS_BY_WARD.ToList();

Ответы [ 2 ]

1 голос
/ 14 февраля 2020

Вы можете попробовать это так:

[HttpGet]
public ActionResult Get()
{
    var result=_bed_data.tblBase_BEDMGMT_BEDS_BY_WARD.ToList();
    return Json(result);
}
1 голос
/ 14 февраля 2020

Я ожидаю, что возвращаемый тип вашей конечной точки неверен. Возвращаемый тип вашей конечной точки: ActionResult<IEnumerable<bed_data_dbconnect>>.

Где bed_data_dbconnect - это класс DbContext.

Разве возвращаемый тип не должен быть ActionResult<IEnumerable<Bed_Data>>?

...