StrataFrame Forum

Businnes Object Mapper - Error

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

By Rogerio Mauri - 11/6/2011

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


 
By Ivan George Borges - 11/6/2011

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.
By Rogerio Mauri - 11/8/2011

Desculpe-me Ivan, mas você está sugerindo a correção 'manual' das classes após a geração do código pelo BOM ?!!
By Ivan George Borges - 11/8/2011

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.