Businnes Object Mapper - Error


Author
Message
Rogerio Mauri
Rogerio Mauri
StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)
Group: StrataFrame Users
Posts: 205, Visits: 629
Ivan... Boa Tarde...

Considere uma solução no Visual Studio 2010 com dois projetos:

- LicitecPrincipalBO
- LicitecSecundarioBO

Agora, considere uma view no banco de dados com o seguinte nome: vwConsultaQualquer.
Então, considere agora que eu necessite criar duas BusinessLayer para a mesma view, uma em cada projeto BO, ficando assim:

- LicitecPrincipalBO
  -> vwConsultaQualquerBO

- LicitecSecundarioBO
  -> vwConsultaQualquerBO

No BOM essas views estão corretamente configuradas, dentro de cada um dos projetos. Então peço agora para gerar os códigos (Rebuild  All ou qualquer uma das opções parciais). O que ocorre é o seguinte.
Para o projeto LicitecPrincipalBO a abertura da classe 'partial Designer' é montada assim:
namespace LicitecPrincipalBO
{
     partial class vwConsultaQualquerBO
     {
          ...
     }
}

Abaixo, o que seria esperado para a partial class dentro do segundo projeto:
namespace LicitecSecundarioBO
{
      partial class vwConsultaQualquerBO
      {
          ...
      }
}

No entanto, o gerador do código do BOM repete o namespace da primeira referência da view, criando a inconsistência de nome, obrigando trocar manualmente o nome do namespace sempre que o código é recriado pelo BOM.
namespace LicitecPrincipalBO
{
      partial class vwConsultaQualquerBO
      {
          ...
      }
}

Analisando a base de dados StrataFrame identifique que os registros relacionados entre as tabelas DTEproject_items e DTEprojects estão corretos. O erro está então no momento em que o BOM busca o 'parent' do registro DTEproject_items para capturar o 'proj_name'. Provavelmente ele não está utilizando o índice de relacionamento e então acaba capturando o 'proj_name' do primeiro registro que encontra, repetindo assim o nome do namespace em todas as possíveis novas ocorrências dessa classe BO.

Acho que ficou claro...

Att

Rogério


 

Rogério Mauri Smile

Ivan George Borges
Ivan George Borges
Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)
Group: StrataFrame MVPs
Posts: 1.9K, Visits: 21K
Bom dia.

Insira o Namespace tanto na "class" (.cs) quanto na "partial class" (.designer.cs), desta maneira irá permanecer correto. Deveria ficar:

http://forum.strataframe.net/FindPost17484.aspx

Abraços.
Rogerio Mauri
Rogerio Mauri
StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)StrataFrame User (301 reputation)
Group: StrataFrame Users
Posts: 205, Visits: 629
Desculpe-me Ivan, mas você está sugerindo a correção 'manual' das classes após a geração do código pelo BOM ?!!

Rogério Mauri Smile

Ivan George Borges
Ivan George Borges
Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)Strategic Support Team Member (3.4K reputation)
Group: StrataFrame MVPs
Posts: 1.9K, Visits: 21K
Nenhuma necessidade de desculpas de nenhum de nós.

De acordo com o post para onde te direcionei, basta fazê-lo a primeira vez que gerar um BO cujo nome seja o mesmo em outro projeto.
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search