Linked 0 Denunciar post Postado Novembro 6, 2012 Olá Pessoal Tenho uma classe denominada de DadosPessoaJuridica, que tem uma associação de vários(*) para um(1) com a classe de Pessoa, veja: public class DadosPessoaJuridica { [Key] public int Id { get; set; } public string CNPJ { get; set; } public int? PessoaId { get; set; } public virtual Pessoa Pessoa { get; set; } } public class Pessoa { [Key] public int Id { get; set; } [Required(ErrorMessage = "(Requerido)")] [DisplayName("Nome")] public string Nome { get; set; } public virtual DadosPessoaJuridica DadosPessoaJuridica { get; set; } } O problema é que o .NET não está aceitando essa associação. O seguinte erro é emitido: Unable to determine the principal end of an association between the types 'Sys.Models.PessoaJuridica' and 'Sys.Models.Pessoa'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations. Se algum colega puder me ajudar, ficarei muito grato. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Novembro 6, 2012 Cara na pessoa tem ser: public virtual ICollection<DadosPessoaJuridica> DadosPessoaJuridica { get; set; } Pois dentro da pessoa existirá uma lista de PessoJuridica. Compartilhar este post Link para o post Compartilhar em outros sites
Linked 0 Denunciar post Postado Novembro 8, 2012 Cara na pessoa tem ser: public virtual ICollection<DadosPessoaJuridica> DadosPessoaJuridica { get; set; } Pois dentro da pessoa existirá uma lista de PessoJuridica. Bom dia Ivan, muito obrigado por responder ao meu post. Por gentileza, estou tentando ler essa ICollection no meu método no Controller, mas está dando erro NULLPOINTEREXCEPTION, ou seja, na minha entidade DadosPessoaJuridica pode ou não haver dados, não é obrigatório, talvez seja isso. Veja: var data = _db.Pessoas.OrderBy(a => a.Nome).ToList(); var registros = data.Select(x => new { x.Id, x.Nome, x.DadosPessoaJuridica.CNPJ }); Então, como faço para contornar esse problema lendo essa ICollection? Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Novembro 8, 2012 Moço esse objeto x.DadosPessoaJuridica é uma lista, você não vai conseguir trazer CNPJ pois é uma lista. Compartilhar este post Link para o post Compartilhar em outros sites
Linked 0 Denunciar post Postado Novembro 8, 2012 Ivan boa tarde, Percebi que você é moderador. Desculpe a minha igorância no assunto, é que sou iniciante em .NET, por isso eu te perguntei sobre como ler essa ICollection, ainda estou em fase de aprendizado. De qualquer forma quer lhe agradecer por responder a minha questão. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Novembro 8, 2012 Tranquilo cara, estamos aqui pra ajudar e ser ajudado na medida do possível do conhecimento de cada um. Da forma que você esta fazendo você esta usando POCO. Da uma lida em http://msdn.microsoft.com/pt-br/library/ff978717.aspx Compartilhar este post Link para o post Compartilhar em outros sites
Linked 0 Denunciar post Postado Novembro 8, 2012 Tranquilo cara, estamos aqui pra ajudar e ser ajudado na medida do possível do conhecimento de cada um. Da forma que você esta fazendo você esta usando POCO. Da uma lida em http://msdn.microsoft.com/pt-br/library/ff978717.aspx Obrigado Ivan! Compartilhar este post Link para o post Compartilhar em outros sites