无法使用类型.ObjectQuery的实例调用Find(System.Object [])

时间:2015-05-25 18:45:36

标签: c# api controller get

我正在尝试从数据库中获取用户。

// GET: api/Pedido
public IQueryable<PedidoDTO> GetPedido()
{
    var pedido = from p in db.Pedido
                 select new PedidoDTO()
                 { 
                     Id = p.Id.ToString(),
                     NomeEmpregado = db.Users.Find(p.ApplicationUserId).PrimeiroNome,

                     DataPedido = p.DataHoraPedido
                 };

在“NomeEmpregado = db.Users.Find(p.ApplicationUserId).PrimeiroNome”中,

当我这样做时出现错误:

Message = Method'apiRestaurante4.Models.ApplicationUser Find(System.Object [])'在类型'System.Data.Entity.IDbSet 1[apiRestaurante4.Models.ApplicationUser]' cannot be called with instance of type 'System.Data.Entity.Core.Objects.ObjectQuery上声明1 [apiRestaurante4.Models.ApplicationUser]'   源= System.Core程序

Pedido课程:

public class Pedido
{

    public int Id { get; set; }

    public string ApplicationUserId { get; set; }
    [ForeignKey("ApplicationUserId")]        
    public virtual ApplicationUser AppUser { get; set; }

    public int? Mesa { get; set; }
    public DateTime DataHoraPedido { get; set; }
    public List<ItemMenu> Items { get; set; }
}

public class PedidoDTO
{

    public string Id { get;set; }
    public string NomeEmpregado { get; set; }
    // Nome do empregado que fez o pedido
    public DateTime DataPedido { get; set; }
    [JsonIgnore]
    public ApplicationUser Utilizador { get; set; }

}

当我评论查找行时,代码完美无缺。 我想返回用户,但我的所有尝试都失败了

还试图获取一个包含用户名的String,试图让用户没有成功。

0 个答案:

没有答案