none
Erro ao atualizar meu Model.edmx RRS feed

  • Pergunta

  • Olá amigos!
    Estou precisando da ajuda de vocês!
    Tenho um projeto antigo que fiz usando o VS 2010 usando como mapeamento o Entity Data Model (Model.edmx) com Mysql, nisso criei uma classe genérica para meu CRUD:

    placasEntities model = new placasEntities();
    
    public void Add(T pEntity)
    {
    model.AddObject(pEntity.GetType().Name, pEntity);
    }
    
    public void Delete(T pEntity)
    {
    model.DeleteObject(pEntity);
    }
    
    public void Attach(T pEntity)
    {
    model.AttachTo(pEntity.GetType().Name, pEntity);
    }
    
    public void Detach(T pEntity)
    {
    model.Detach(pEntity);
    }
    
    public void Update(T pEntity)
    {
    model.ApplyCurrentValues<T>(pEntity.GetType().Name, pEntity);
    }
    
    public IQueryable<T> Find(System.Linq.Expressions.Expression<Func<T, bool>> where)
    {
    return model.CreateObjectSet<T>().Where(where);
    }
    
    public IQueryable<T> GetAll()
    {
    return model.CreateObjectSet<T>();
    }
    
    public void SaveChanges()
    {
    model.SaveChanges();
    }
    

    Depois de muito tempo tive que fazer uma alteração no banco e atualizar seu mapeamento usando o VS 2012, só que todas essas funções acima não são mais válidas, estão todas erradas, e o VS informar que o erro é por causa da versão do Entity que é a 5.0, alguém sabe como substituir esse código para o novo do entiy?
    Já procurei em alguns sites, mas nada de concreto.
    Desde já agradeço

    segunda-feira, 4 de março de 2013 10:35

Respostas

  • Olá Thiago,

    Veja se isso ajuda:

    placasEntities model = new placasEntities();
    
    public void Add(T pEntity)
    {
    ((IObjectContextAdapter)model).ObjectContext.AddObject(pEntity.GetType().Name, pEntity);
    }
    
    public void Delete(T pEntity)
    {
    ((IObjectContextAdapter)model).ObjectContext.DeleteObject(pEntity);
    }
    
    public void Attach(T pEntity)
    {
    ((IObjectContextAdapter)model).ObjectContext.AttachTo(pEntity.GetType().Name, pEntity);
    }
    
    public void Detach(T pEntity)
    {
    ((IObjectContextAdapter)model).ObjectContext.Detach(pEntity);
    }
    
    public void Update(T pEntity)
    {
    ((IObjectContextAdapter)model).ObjectContext.ApplyCurrentValues<T>(pEntity.GetType().Name, pEntity);
    }
    
    public IQueryable<T> Find(System.Linq.Expressions.Expression<Func<T, bool>> where)
    {
    return ((IObjectContextAdapter)model).ObjectContext.CreateObjectSet<T>().Where(where);
    }
    
    public IQueryable<T> GetAll()
    {
    return ((IObjectContextAdapter)model).ObjectContext.CreateObjectSet<T>();
    }
    
    public void SaveChanges()
    {
    ((IObjectContextAdapter)model).ObjectContext.SaveChanges();
    }

    []s!


    MSc. Fernando Henrique Inocêncio Borba Ferreira
    Microsoft MVP - Visual C#
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique
    Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil

    • Marcado como Resposta Thiago_Porto domingo, 17 de março de 2013 18:44
    quinta-feira, 7 de março de 2013 11:36
    Moderador