使用Entity Framework从数据库检索数据时出现WebAPI问题

时间:2017-07-14 18:59:22

标签: c# entity-framework asp.net-web-api

我创建了一个项目来了解web api和实体框架。好吧,当我尝试将我的服务与数据库连接时,该服务没有从数据库中检索数据。下面是我的连接字符串:

<add name="CotacaoContext" connectionString="Data Source=Minha_Maquina\Instancia; Initial Catalog=Cotacao; User Id=sa; Password=d123" providerName="System.Data.SqlClient" />

这是我的控制器和方法GetUsuarios。此方法(GetUsuarios)从DB(Table = Usuarios)检索所有数据。

public class UsuarioController : ApiController
{
    private CotacaoContext contexto = new CotacaoContext("CotacaoContext");

    [AcceptVerbs("Get")]
    public IEnumerable<Usuarios> GetUsuarios()
    {
        return contexto.Usuario.AsEnumerable();
    }

    public Usuarios GetUsuarioById(int id)
    {
        Usuarios usuario = contexto.Usuario.Find(id);
        if(usuario == null)
        {
            throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
        }

        return usuario;
    }

    protected override void Dispose(bool disposing)
    {
        contexto.Dispose();
        base.Dispose(disposing);
    }
}

具有相应DBSet的上下文类:

public class CotacaoContext : DbContext
{
    public CotacaoContext()
        : base("name=CotacaoContext")
    {

    }
    public DbSet<Usuarios> Usuario { get; set; }
    public DbSet<Login> Login { get; set; }
}

模型类

public class Usuarios
{
    public int Id { get; set; }
    public int Tipo_Usuario { get; set; }
    public string NMUsuario { get; set; }
    public string Senha { get; set; }
}

当我调试此行

return contexto.Usuario.AsEnumerable();

我有这个问题:

enter image description here

我的表有6条记录,在图像中有6条记录以“”格式显示。 这是什么意思?

1 个答案:

答案 0 :(得分:0)

Solved。我只需要像这样的ToList():

return contexto.Usuario.AsEnumerable().ToList();

我看到了这个答案here