6
votes

Impossible de voir DREECREADEFAULT

Toute aide est très appréciée les gars!

Sous GetProductByID, je reçois une erreur disant «INT ne contient pas de définition pour FirstOfEfault». P>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using HomebaseSystemNew.Models;

namespace HomebaseSystemNew.Controllers
  {
    public class ProductRepository
   {

    public ProductsController GetProductID(int Pid)
        {
          Product db = new Product();

          return db.Pid.FirstOrDefault(db => db.Pid == Pid);
        }


   }




   }


1 commentaires

Votre problème n'a rien à voir avec MVC3. Vous utilisez simplement FirstArdefault mal. db.pid est un int mais il doit être énuméérable pour sReveArdefault pour fonctionner.


5 Réponses :


0
votes

de votre code, il apparaît que db.pid est un entier (int32), pas un ienumerable .

Le linq Les opérateurs sont définis sur iEnumerable , pas int32 .

Par défaut, il sera 0 .


0 commentaires

3
votes

Cela semble très improbable que vous souhaitez démarrer em> avec un instance code>. Le code correct est plus susceptible de ressembler à:

public Product GetProductByID(int id)
{
    return new DbContext().Products
                          .FirstOrDefault(p => p.Pid == id);
}


0 commentaires

0
votes

Eh bien int ne contient pas de définition pour FirstArdefault car ce n'est pas un type de liste.

Vous aurez besoin d'une liste d'INTS pour que cela fonctionne: xxx

ou plus probable xxx

supposant que vous avez une table appelée produit dans votre base de données .


0 commentaires

0
votes

FirstArdefault est une méthode d'extension sur un ienumerbale ou iquéryable, vous essayez de l'appeler à partir d'un entier.


0 commentaires

26
votes

Aussi vous devez ajouter à l'aide de l'espace de noms System.Linq pour accéder à ces méthodes.


0 commentaires