Le type d'entité n'est pas une partie du modèle, EF 5
Je suis en train de mettre à jour mon référentiel de EF5 mais se sont heurtés à quelques erreurs. J'ai pris un coup d'oeil autour de stackoverflow pour des erreurs similaires découvert quelques questions/réponses, mais malheureusement, les réponses ne permettent pas de résoudre mon problème.
C'est mon erreur:
The entity type User is not part of the model for the current context.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
C'est ma classe DbContext:
public abstract class WebModelContext : DbContext
{
public WebModelContext()
: base("WebConnection")
{
Configuration.LazyLoadingEnabled = true;
}
}
C'est mon contexte de la classe qui hérite de mon WebModelContext
classe:
public class AccountContext : WebModelContext
{
private DbSet<User> _users;
public AccountContext()
: base()
{
_users = Set<User>();
}
public DbSet<User> Users
{
get { return _users; }
}
}
C'est ma classe de dépôt:
public abstract class IRepository<T> : IDisposable where T : WebModelContext, new()
{
private T _context;
protected T Context
{
get { return _context; }
}
public IRepository() {
_context = new T();
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
~IRepository()
{
Dispose(false);
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
if (_context != null)
{
_context.Dispose();
_context = null;
}
}
}
}
C'est mon AccountRepository classe:
public class AccountRepository : IRepository<AccountContext>
{
public List<User> GetUsers()
{
return Context.Users.ToList();
}
public User GetUser(string username)
{
return Context.Users.Where(u => u.Name == username).FirstOrDefault();
}
public User CreateUser(string username, string password, string salt, int age, int residence)
{
User user = new User
{
Name = username,
Password = password,
Salt = salt,
RoleId = 1,
CreatedOn = DateTime.Now,
Locked = false,
Muted = false,
Banned = false,
Guid = Guid.NewGuid().ToString("N")
};
Context.Users.Add(user);
return Context.SaveChanges() > 0 ? user : null;
}
}
Toute aide grandement appréciée 🙂
OriginalL'auteur Michael | 2012-09-24
Vous devez vous connecter pour publier un commentaire.
EF peuvent ne pas être en mesure de ramasser les types d'entité que vous avez déclaré. Remplacer le
OnModelCreating
et ajouter leUser
entité de modèle.modelBuilder.Entity<User>();
mais il n'a pas touché le point d'arrêt et lui a toujours donné le même message d'erreur.Essayez d'arrêter et de départ local ASP.NET Serveur de Développement/IIS
okay ont fait, toujours la même erreur, je vais essayer de redémarrer la machine.
redémarré et ont la même erreur
Incroyable! Cela devrait vraiment aider. Est-il une autre classe d'Utilisateur traîner quelque part?
OriginalL'auteur Eranga
J'ai eu le même problème avec EF 5... Ce que j'ai fait était de supprimer tous les fichiers créés par tt les fichiers et de les recréer à nouveau... chaque chose avait repris le travail!
OriginalL'auteur Gabriel
Votre table nom du modèle est faux. définir le nom correct lorsque les états dans Sql server.
de retour de Vue(db.tblEmployees.ToList()); ligne d'erreur.....
Modèle et cliquez sur duble ur nom du modèle de correspondance avec le nom de la table comme (tblEmployees)
votre erreur est de résoudre
OriginalL'auteur Ajay sharma