Nomenclatura incoerente nas propriedades de navegação dentro do Model.EMDX
Amigos,
Tenho no Sql Server uma tabela Master de Perfil Fiscal.
Essa tabela tem muitos details, e alguns deles fazem relacionamento muitas vezes com a Master.
Eu nomeei as fks corretamente, mas dentro do VS, no meu model, as propriedades de navegação ficam nomeadas sequencialmente, impossibilitando de saber a qual campo ela se refere.
Pra exemplificar melhor, vou postar o Diagrama das tabelas e também o Model.EDMX
DIAGRAMA:
MODEL
Com isso, eu não estou conseguindo gravar corretamente os campos que são FK, pois não sei a qual campo corresponde o DadosFiscais1, por exemplo.
Pode ser ICMS Dentro Estado, Fora Estado ou IPI...
O que poderia solucionar nosso problema?
Tenho no Sql Server uma tabela Master de Perfil Fiscal.
Essa tabela tem muitos details, e alguns deles fazem relacionamento muitas vezes com a Master.
Eu nomeei as fks corretamente, mas dentro do VS, no meu model, as propriedades de navegação ficam nomeadas sequencialmente, impossibilitando de saber a qual campo ela se refere.
Pra exemplificar melhor, vou postar o Diagrama das tabelas e também o Model.EDMX
DIAGRAMA:
MODEL
Com isso, eu não estou conseguindo gravar corretamente os campos que são FK, pois não sei a qual campo corresponde o DadosFiscais1, por exemplo.
Pode ser ICMS Dentro Estado, Fora Estado ou IPI...
O que poderia solucionar nosso problema?
Daniel Vieira
Curtidas 0
Respostas
Luiz Maia
21/12/2009
Oi Daniel, blz?
Neste caso acho melhor vc gerar o model novamente, talvez somente um update resolva, ou mais simples, é vc remonear os campos no MODEL mesmo.
Abraços
Att
Luiz Maia
GOSTEI 0
Daniel Vieira
21/12/2009
Luiz, eu já gerei outro Model.
Primeiro eu fiz um Model, ele gerou com esses nomes de relacionamento.
Eu deletei, alterei a base todos os nomes de FK, e regerei o Model, continuou igual...
Sobre alterar no próprio Model, eu acho complicado...
Porque o tempo todo eu mudo minha base, e quando modifico ela, a unica maneira que encontrei de atualizar o Model é excluindo e gerando um novo(nao encontrei maneira de fazer um compare dele com a base)
Portanto toda vez que eu excluir o bendito, teria que renomear tudo!
A nao ser que exista uma maneira mais fácil de atualizar o Model, que não seja excluindo-o
Primeiro eu fiz um Model, ele gerou com esses nomes de relacionamento.
Eu deletei, alterei a base todos os nomes de FK, e regerei o Model, continuou igual...
Sobre alterar no próprio Model, eu acho complicado...
Porque o tempo todo eu mudo minha base, e quando modifico ela, a unica maneira que encontrei de atualizar o Model é excluindo e gerando um novo(nao encontrei maneira de fazer um compare dele com a base)
Portanto toda vez que eu excluir o bendito, teria que renomear tudo!
A nao ser que exista uma maneira mais fácil de atualizar o Model, que não seja excluindo-o
GOSTEI 0
Luiz Maia
21/12/2009
Daniel, blz?
Vou pesquisar se exite outra forma para fazer isto, mas vou adiantando que não conheço outra forma a não ser renomear manualmente mesmo.
Vou dar uma pesquisada e te falo, ok?
Abraços
Ate mais...
Att
Luiz Maia
GOSTEI 0
Luiz Maia
21/12/2009
Daniel,
Dei uma pesquisa e não encontrei outra forma infelizmente, a não ser renomeando-os manualmente mesmo.
Abraços
Att
Luiz Maia
GOSTEI 0
Daniel Vieira
21/12/2009
Bom, sendo assim eu prefiro continuar com os nomes incoerentes que ele me cria...
Fiz uma documentação pra me auxiliar, pois hora ou outra excluimos e recriamos o model, se eu renomear perderei tudo
fiz o seguinte documento:
relacionamentos perfil fiscal
NomeRelacionamento - NomeCampoRelacionado
DadosFiscais - codigoDadosFiscaisIcmsDentroEstado : int
DadosFiscais1 - codigoDadosFiscaisIcmsForaEstado : int
DadosFiscais2 - codigoDadosFiscaisIpi : int
ModalidadeIcms - codigoModalidadeIcmsDentroEstado : int
ModalidadeIcms1 - codigoModalidadeIcmsForaEstado : int
ModalidadeIcmsST - codigoModalidadeIcmsStDentroEstado : int
ModalidadeIcmsST1 - codigoModalidadeIcmsStForaEstado : int
OrigemIcms - codigoOrigemIcmsDentroEstado : int
OrigemIcms1 - codigoOrigemIcmsForaEstado : int
SituacaoTributariaIcms - codigoSituacaoTributariaIcmsDentroEstado : int
SituacaoTributariaIcms1 - codigoSituacaoTributariaIcmsForaEstado : int
Com isso eu posso saber que o relacionamento DadosFiscais2 se refere ao codigoDadosFiscaisIPI, por exemplo.
Será que não existe mesmo uma maneira de sincronizar?? Ficar criando manual é complicado com uma equipe meio grande, a não ser que somente um seja responsável!
Fiz uma documentação pra me auxiliar, pois hora ou outra excluimos e recriamos o model, se eu renomear perderei tudo
fiz o seguinte documento:
relacionamentos perfil fiscal
NomeRelacionamento - NomeCampoRelacionado
DadosFiscais - codigoDadosFiscaisIcmsDentroEstado : int
DadosFiscais1 - codigoDadosFiscaisIcmsForaEstado : int
DadosFiscais2 - codigoDadosFiscaisIpi : int
ModalidadeIcms - codigoModalidadeIcmsDentroEstado : int
ModalidadeIcms1 - codigoModalidadeIcmsForaEstado : int
ModalidadeIcmsST - codigoModalidadeIcmsStDentroEstado : int
ModalidadeIcmsST1 - codigoModalidadeIcmsStForaEstado : int
OrigemIcms - codigoOrigemIcmsDentroEstado : int
OrigemIcms1 - codigoOrigemIcmsForaEstado : int
SituacaoTributariaIcms - codigoSituacaoTributariaIcmsDentroEstado : int
SituacaoTributariaIcms1 - codigoSituacaoTributariaIcmsForaEstado : int
Com isso eu posso saber que o relacionamento DadosFiscais2 se refere ao codigoDadosFiscaisIPI, por exemplo.
Será que não existe mesmo uma maneira de sincronizar?? Ficar criando manual é complicado com uma equipe meio grande, a não ser que somente um seja responsável!
GOSTEI 0
Luiz Maia
21/12/2009
Daniel,
Você esta usando L2Sql ou L2E?
GOSTEI 0
Luiz Maia
21/12/2009
Daniel, tente o seguinte, talvez seja melhor que esta documentação:
Vamos supor que você tenha uma classe chamada Clientes e que nela tenha uma propriedade chamada Endereco e vc queira "modificar" para Address, você pde criar uma propriedade extendida chamada Address que por sua vez retorne o resultado da propriedade Endereco:
public partial class Clientes{
get {
public string Address { return this.Endereco }
}
}
Vi muita gente usando bastante esse recurso para criar propriedades customizadas em seus projetos. Abraços Att Luiz Maia
public partial class Clientes{
get {
public string Address { return this.Endereco }
}
}
Vi muita gente usando bastante esse recurso para criar propriedades customizadas em seus projetos. Abraços Att Luiz Maia
GOSTEI 0
Daniel Vieira
21/12/2009
Uso L2E
Mas onde eu faria essa partialClass Luiz?
Eu estou precisando renomear o nome dos mapeamentos de FK no Model.edmx gerado pelo LINQ
Mas onde eu faria essa partialClass Luiz?
Eu estou precisando renomear o nome dos mapeamentos de FK no Model.edmx gerado pelo LINQ
GOSTEI 0
Luiz Maia
21/12/2009
Daniel,
Para FK não tem como fazê-lo.
O model.edmx é uma representação grafica e suprime as chaves FKs.
Abraços
Att
Luiz Maia
GOSTEI 0
Daniel Vieira
21/12/2009
Bom, a única maneira que eu encontrei foi documentar as relações, e deixar com nome default mesmo...
Quando eu encontrar uma maneira (se encontrar) de sincronizar o model com minha base, tem excluir o mesmo e sem ter de fazer manualmente o que faço na base, então poderei renomear os mapeamentos de FK!
Quando eu encontrar uma maneira (se encontrar) de sincronizar o model com minha base, tem excluir o mesmo e sem ter de fazer manualmente o que faço na base, então poderei renomear os mapeamentos de FK!
GOSTEI 0
Luiz Maia
21/12/2009
Ola Daniel,
Como eu disse antes, o model.edmx é uma representação grafica e suprime as chaves FKs.
Com isto, não consegue renomear as FKs.
Abraços e Feliz ano novo para vc!!!
Att
Luiz Maia
GOSTEI 0