Interfaces
- A criação de uma nova interface deve ser feita dentro do projeto API em CustomCode > Modeling Interfaces

-
As propriedades da interface que são foreign keys de forma geral têm 4 propriedades:
i. NomePropriedadeId (Guid?) que tem associada a seguinte notação: [EntityAssociationDependency("NomePropriedade", "MóduloDaEntidade", "NomeDaEntidade")] – das 4 propriedades, apenas esta é obrigatória

ii. NomePropriedadeDescription que tem associada a seguinte notação: [IgnoreInterfaceProperty("Automatically generated")]

iii. NomePropriedadeNaturalKey que tem associada a seguinte notação: [IgnoreInterfaceProperty("Automatically generated")]

iv. A própria classe ou interface da foreign key (ex: ICurrency, ICompany, IParty), ou a própria entidade se for mesmo necessário (ex: Currency, Company, Party) que pode ter associada a seguinte notação: [InterfacePropertyExplicit]

Neste caso, no modelo de entidades tem que se definir explicitamente o get e o set.
-
Compilar o projeto e, caso a interface a implementar seja no próprio módulo, reiniciar o Visual Studio.
-
Para implementar a interface, no modelo de entidades deve-se clicar na caixa do módulo e selecionar Add Interfaces...

No caso de ser a alteração de uma interface já existente, deve-se ir à caixa da interface, fazer View Interface Properties e confirmar que todas as propriedades estão de acordo.

Caso contrário, algo de errado aconteceu. Sugere-se limpar as soluções e verificar se a dll referenciada é a que foi compilada no outro módulo (utilizar o dotpeek caso seja necessário).
- Se a interface for nova, ligar a interface à entidade. Clicar com o botão direito do rato e, de seguida, Implement Interface...

Caso a interface já exista, clicar em Re-implement Interfaces...
Todos os campos da interface devem aparecer no modelo da entidade (se não for explicita, só se consegue ver na propriedade; se não for explícita e não tiver o mesmo nome, adiciona um novo campo).
-
Transformar models e API
-
Compilar API
-
Reiniciar VS
-
Transformar a solução e compilar