Nomenclatura incoerente nas propriedades de navegação dentro do Model.EMDX

21/12/2009

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?
Daniel Vieira

Daniel Vieira

Curtidas 0

Respostas

Luiz Maia

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

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
GOSTEI 0
Luiz Maia

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

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

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!



GOSTEI 0
Luiz Maia

Luiz Maia

21/12/2009

Daniel,   Você esta usando L2Sql ou L2E?
GOSTEI 0
Luiz Maia

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
GOSTEI 0
Daniel Vieira

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
GOSTEI 0
Luiz Maia

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

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!
GOSTEI 0
Luiz Maia

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
POSTAR