none
POCO em Projetos diferentes -> Erro EF RRS feed

  • 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: relationshipName

    namespace 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,




    quinta-feira, 12 de fevereiro de 2015 21:09

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

    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

    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

    quarta-feira, 1 de julho de 2015 16:44