Relacionamento 1-1 no EF6

13/12/2017

3

#C #EF6
Boa tarde, pessoal eu não consigo trazer o objeto Pessoa após recuperar um objeto Pedido pelo EF6.

Detalhe: se eu carregar a lista das Pessoas antes de tentar recuperar o pedido, a pessoa aparece normalmente, como se fosse algum problema com o Lazy.

Classe do Pedido ( VendasCab )

namespace ModelsV2.Domain
{
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.Spatial;

    [Table("VendasCab")]
    public partial class VendasCab
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public VendasCab()
        {
            VendasDet = new HashSet<VendasDet>();
            Vendasz_Crediario = new HashSet<Vendasz_Crediario>();
        }

        [Key]
        public int Codigo { get; set; }

        public int NumeroCupom { get; set; }

        [Column(TypeName = "date")]
        public DateTime DataVenda { get; set; }

        public int CodPessoaEmissor { get; set; }
        public int CodPessoaDestina { get; set; } //Chave Estrangeira de Pessoas

        public virtual Pessoas Pessoas { get; set; }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<VendasDet> VendasDet { get; set; }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<Vendasz_Crediario> Vendasz_Crediario { get; set; }
    }
}


Classe da Pessoa
namespace ModelsV2.Domain
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;

    public partial class Pessoas
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public Pessoas()
        {
            VendasCab = new HashSet<VendasCab>();
        }

        [Key]
        public int Codigo { get; set; }

        [Required]
        [StringLength(255)]
        public string Nome { get; set; }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<VendasCab> VendasCab { get; set; }
    }
}
Responder

Post mais votado

13/12/2017

Rapaz, miniaturizei o problema e obtive resposta.

Por algum motivo, mesmo consultando o registro ele não traz a informação completa, mas se eu fechar e abrir o programa, eu consigo capturar todos as subclasses de forma integral.
Responder

Mais Posts

Dessa forma aqui eu consigo recuperar o registro de forma completa.

   using (myContextDomain _contexto = new myContextDomain())
   {
                    _contexto.Pedidos.Add(pedido);
                    _contexto.SaveChanges();
   }

  myContextDomain _contexto2 = new myContextDomain();
  Pedido pedResult = _contexto2.Pedidos.FirstOrDefault(l => l.NumeroCupom == numerocupom);
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar