Hola gente..

Alguien que trabaje o trabajara NEO, sabe cual es la forma más optima de 
reprecentar una relación de uno a uno en NEO??

Estoy tratando de representar 3 tablas..

1- Clientes
2- Personas
3- Empresas

Donde Clientes contiene campos comunes entre Personas y Empresas. A cada 
Empresa o Personas le corresponde una sola entrada en la tabla Clientes.

He tratado de hacer lo siguiente.

<table name="crw_clients" javaName="Client">
<column name="client_id" javaName="client_id" type="INTEGER"  primaryKey="true" 
/>
.....
<iforeign-key foreignTable="crw_company" name="CompanyRef">
   <ireference local="client_id" foreign="client_id"/>
</iforeign-key>
<iforeign-key foreignTable="crw_users" name="UserRef">
   <ireference local="client_id" foreign="client_id"/>
</iforeign-key>
</table>

<table name="crw_company" javaName="Company" idMethod="none">
<column name="client_id" javaName="client_id" type="INTEGER" hidden="true" 
primaryKey="true" />
.....
</table>

<table name="crw_users" javaName="User" idMethod="none">
<column name="client_id" javaName="client_id" type="INTEGER" hidden="true" 
primaryKey="true" />

.....
</table>

Esto hace dos cosas no deseadas. 

1- Cuando creo una nueva empresa lo hago creando el cliente, luego creo la 
empresa y la asigno a la referencia de cliente. Al salvar, la llave de empresa 
no se actualiza, he tenido que salvar primero cliente y luego empresa.

2- Un cliente que es un usuario, la referencia a empresa debía ser NULL, pero 
cuando trato de preguntar por ella C# [if (client.CompanyRef == null) ], Neo 
retorna un error de objeto no encontrado.

Cualquier ayuda, gracias...

Salu2
Omar

Responder a