[Entity Framework] - Atualizar edmx a partir do banco de dados
17/05/2012
0
Estou desenvolvendo uma aplicação onde criei algumas tabelas no banco e então criei o modelo no EE, então alterei o nome das propriedades geradas no modelo. O problema é que esse banco de dados ainda irá crescer, pois irei criar mais tabelas, desse modo, preciso constantemente atualizar meu modelo, porém, ao fazer isso, toas as propriedades que estavam com o nome alterado, voltam a ter os mesmos nomes das colunas referentes no banco...e isso está me atrapalhando muito, gostaria de saber, se existe algum jeito de realizar o update no modelo trazendo as novas tabelas criadas, porém, sem atualizar as entidades já existentes no meu modelo...
Desde já agradeço
César Riva
Posts
17/05/2012
Rodrigo Odasaki
Não se deve alterar o código gerado pelo EDMX, você pode perceber que todas as classes geradas por ele, são do tipo partial, justamente para que você realize suas mudanças em arquivos de classes separadas ao EDMX, já que após qualquer atualização, todas as classes geradas por ele são regeneradas.
17/05/2012
Joel Rodrigues
17/05/2012
Joel Rodrigues
17/05/2012
César Riva
muito obrigado pela dica!
17/05/2012
Joel Rodrigues
Quando precisar, estamos aqui.
01/03/2016
Ricardo
Essa é a classe gerada pelo EF
//------------------------------------------------------------------------------ // <auto-generated> // This code was generated from a template. // // Manual changes to this file may cause unexpected behavior in your application. // Manual changes to this file will be overwritten if the code is regenerated. // </auto-generated> //------------------------------------------------------------------------------ namespace CadeMeuMedico.Models { using System; using System.Collections.Generic; public partial class Medicos { public long IDMedico { get; set; } public string CRM { get; set; } public string Nome { get; set; } public string Endereco { get; set; } public string Bairro { get; set; } public string Email { get; set; } public bool AtendePorConvenio { get; set; } public bool TemClinica { get; set; } public string WebsiteBlog { get; set; } public int IDCidade { get; set; } public int IDEspecialidade { get; set; } public virtual Cidades Cidades { get; set; } public virtual Especialidades Especialidades { get; set; } } }
Essa é a classe criada para fazer as verificações andes dos dados serem inseridos no banco de dados, dessa forma sempre que houver alguma alteração no banco de dados, você não precisa refazer todas as validações.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; namespace CadeMeuMedico.Models { [MetadataType(typeof(MedicoMetadado))] public partial class Medicos { } public class MedicoMetadado { [Required(ErrorMessage="Obrigatório informar o CRM")] [StringLength(30, ErrorMessage="O CRM deve possuir no máximo 30 caracteres")] public string CRM { get; set; } [Required(ErrorMessage = "Obrigatório informar o Nome")] [StringLength(80, ErrorMessage = "O Nome deve possuir no máximo 80 caracteres")] public string Nome { get; set; } [Required(ErrorMessage = "Obrigatório informar o Endereço")] [StringLength(100, ErrorMessage = "O Endereço deve possuir no máximo 100 caracteres")] public string Endereco { get; set; } [Required(ErrorMessage = "Obrigatório informar o Bairro")] [StringLength(60, ErrorMessage = "O Bairro deve possuir no máximo 60 caracteres")] public string Bairro { get; set; } [Required(ErrorMessage = "Obrigatório informar o E-mail")] [StringLength(100, ErrorMessage = "O E-mail deve possuir no máximo 100 caracteres")] public string Email { get; set; } [Required(ErrorMessage = "Obrigatório informar se Atende por Convênio")] public bool AtendePorConvenio { get; set; } [Required(ErrorMessage = "Obrigatório informar se Tem Clínica")] public bool TemClinica { get; set; } [StringLength(80, ErrorMessage = "O Website deve possuir no máximo 80 caracteres")] public string WebsiteBlog { get; set; } [Required(ErrorMessage = "Obrigatório informar a Cidade")] public int IDCidade { get; set; } [Required(ErrorMessage = "Obrigatório informar a Especialidade")] public int IDEspecialidade { get; set; } }// }
Me desculpe se não era essa a pergunta, como disse, estou aprendendo ASP .NET MVC agora, espero ter ajudado.
Att.,
Clique aqui para fazer login e interagir na Comunidade :)