Hierarchy with Entity Framework

MVC and MySql examples

The goal is to facilitate operations in hierarchical tables using functions available for hierarchyid data type.
There are two challenges:

  • Simplify use through set of simple commands.
  • Using Entity Framework without changes, enable hierarchy operations in other databases, in addition to SQL Server.

How?

We will use only five basic operations to maintain the hierarchy:

  • Adding a new element (as last child of a given parent).
  • Promotion. To the same level of his parent.
  • Demotion. Becomes the last child of the previous sibling.
  • Moving up approaching the parent.
  • Move down away from the parent.

Through these operations it is possible to position a record anywhere in the hierarchy.

1 min video »

Details

  • We will not use the hierarchyid field. In its place a varbinary field (892). This will allow the Entity Framework to map the field.
  • In hierarchy services functions we can convert the byte array data to SqlHierarchyid data type.
  • So the application can use the basic functions of the hierarchy handling.
  • This is even possible for other databases in addition to MS SQL Server.
  • Just use to the field that stores the hierarchyid data, a data type that is mapped to byte array.
  • For MySql, for example, varbinary worked in this application.

See the source code (+GitHub and +Nuget) !

Sample Projects on GitHub

  • HidMy – Accessing MySql using Hierarchy.Universal namespace.
  • HidMS – Accessing Sql Server using Hierarchy.SqlServer namespace.
  • Both project will load nuget package EntityFramework.Hierarchy.

Desenvolvimento à distância: é mesmo viável?

Desenvolvimento à distância: é mesmo viável?

 
Sim! E com algumas vantagens

Não só nossos clientes distantes são atendidos remotamente. Os clientes locais também usufruem tanto de conferências via Skype como de intervenções remotas nos seus sistemas, quando necessário. O termo usufruir indica benefícios claros referentes à agilidade e comodidade deste tipo de apoio de suporte.

Sistemas web para smartphones

Sistema Web para Smartphone

Alternativa ágil para uma versão mobile inicial

A construção de sistemas web mantidos em servidores Windows teve grande avanço com as ferramentas de desenvolvimento mais recentes, especialmente o gerador de aplicações Iron Speed (www.ironspeed.com), responsável, juntamente com a equipe técnica, pela rapidez e qualidade dos sistemas construídos pela Casa Villar para seus clientes.

Sistemas sob medida e apoio à TI do CETREDE

Sistemas sob medida CETREDE

Desde 2011 a Casa Villar colabora com o CETREDE, Centro de Treinamento e Desenvolvimento, órgão ligado à Universidade Federal do Ceará, construindo sistemas sob medida e ajudando em outras tarefas de tecnologia da informação.

Complemento de ERP Sapiens da Leite Maranguape

Leite Maranguape

Na terra de Chico Anísio a Cooperativa Agrícola Mista de Maranguape atua desde 1964. Em 2006 ela começou a utilizar o ERP Sapiens da Senior Sistemas de Blumenau. A Casa Villar participou da seleção e acompanhou a penosa implantação.

Projeto de desenvolvimento ágil para unidade Fisk

Fisk Seis Bocas

A Escola Fisk Seis Bocas (Fortaleza – CE) tentou converter seu velho sistema em Clipper, operando desde 1997. O esforço de um ano não pode ser aproveitado, quando a Casa Villar foi contratada no final de 2004 para executar um projeto de desenvolvimento ágil.

Leankeep – Software de manutenção predial

LeanKeep

Em fevereiro de 2007 a Casa Villar foi contratada pela Seccional Informática para o desenvolvimento da nova versão do software TPMOC, um software de controle de manutenção predial baseado no PMOC (Plano de Manutenção, Operação e Controle). Com o uso de geração de código através da ferramenta Ironspeed Designer (gerador de aplicações web asp.net e banco de dados SQL Server) conseguimos desenvolver a primeira versão do novo software em menos de 1 ano com uma equipe de apenas 2 desenvolvedores.

Sistema sob medida para Unitêxtil

Projeto Unitextil

A Unitêxtil, tradicional fiação e tecelagem cearense, investiu em modernização da linha de produção e adequação da área administrativa, preparando-se assim para os tempos de concorrência global acirrada.