Usuário com melhor resposta
POCO em Projetos diferentes -> Erro EF

Pergunta
-
Senhores, boa tarde!
Estou com um probleminha....
Criei um repositório para meu BD e usei o EF 6 para acesso a dados. Separei minhas classes em projetos diferentes, distinguindo cada uma. Fiz o mapeamento bonitinho no Contexto do repositório, porem quando vou dar um GeAll() em uma tabela o EF me retorna esse erro:
Metadata information for the relationship 'bd_desenvModel.FK_Operation_To_ExpenseType_operacao' could not be retrieved. If mapping attributes are used, make sure that the EdmRelationshipAttribute for the relationship has been defined in the assembly. When using convention-based mapping, metadata information for relationships between detached entities cannot be determined.
Nome do parâmetro: relationshipNamenamespace Company.Order.BusinessEntities { //[DataContract] public partial class ExpenseConfiguration : BusinessEntityBase<ExpenseConfiguration> { public int operation_id { get; set; } public int operation_to_expense_type_id { get; set; } public decimal level_pre_approval_dolar { get; set; } } } namespace Company.Common.BusinessEntities { //[DataContract] public class Operation : BusinessEntityBase<Operation> { public int operation_id { get; set; } } }
OBS. Meu mapeamento é através do edmx.
Se eu coloco todas as classes no mesmo projeto, ele roda normal....
O ERRO Ocorre somente se tiverem em projetos diferentes...
Alguém sabe o motivo de dar esse erro quando eu separo minhas classes em projetos distintos ?
Deixar todas as minhas BusinessEntities em um único projeto não é uma opção.
Obrigado,
- Editado Kelvin Cleto Gonçalves quinta-feira, 12 de fevereiro de 2015 21:13
Respostas
-
Descobri que isso é uma limitação do EF,
Bom, achei um Micro ORM muito bom e codigo aberto chamado FluentData e decidi usa-lo.
https://fluentdata.codeplex.com/documentation
- Marcado como Resposta Kelvin Cleto Gonçalves quarta-feira, 18 de fevereiro de 2015 15:49
Todas as Respostas
-
Descobri que isso é uma limitação do EF,
Bom, achei um Micro ORM muito bom e codigo aberto chamado FluentData e decidi usa-lo.
https://fluentdata.codeplex.com/documentation
- Marcado como Resposta Kelvin Cleto Gonçalves quarta-feira, 18 de fevereiro de 2015 15:49
-
Prezados, boa tarde!
Também estou utilizando EF em vários projetos e já me deparei com a situação relatada.
Quando existe classes em projetos diferentes é necessário ter alguns cuidados específicos, a saber:
-Atualizar sempre o seu modelo .edmx com base no seu banco de dados.
-Atualizar sempre o seus arquivos .tt de acordo com as alterações realizadas no .edmx
Isso foi o suficiente para garantir o funcionamento correto utilizando o EF.
Atenciosamente,
Flávio Campelo