none
Relacionamentos de entidades RRS feed

  • Pergunta

  • Olá, estou com uma dúvida cruel.
    Tenho a minha classe "CLIENTE", e tenho minhas classe "Setor" que tem a referencia com "CLIENTE" da forma abaixo:

    public class Setor : IEntidadeBase
    {
        [Key]
        public int SetorID { get; set; }
    
        public int ClienteID { get; set; }        
        public string Descricao { get; set; }
    
        /* Campos fixos */
        public int EmpresaID { get; set; }
        public string Fixo { get; set; }
        public string Status { get; set; }
        public string Apagado { get; set; }
        public DateTime? DtApagado { get; set; }
        public int UsuCad { get; set; }
        public DateTime DtCad { get; set; }
        public int UsuAlt { get; set; }
        public DateTime DtAlt { get; set; }
        public int UsuUltAlt { get; set; }
        public DateTime DtUltAlt { get; set; }
    
        [ForeignKey("UsuCad")]
        public virtual Usuario UsuarioCad { get; set; }
        [ForeignKey("UsuAlt")]
        public virtual Usuario UsuarioAlt { get; set; }
        [ForeignKey("UsuUltAlt")]
        public virtual Usuario UsuarioUltAlt { get; set; }
        [ForeignKey("EmpresaID")]
        public virtual Empresa Empresa { get; set; }
    
        [ForeignKey("ClienteID")]
        public virtual Cliente Cliente { get; set; }

    Como faço usando EF + DataAnottations para que na classe "CLIENTE" eu consiga listar todos os setores de um cliente.

    abs

    Marlon Tiedt
    www.sesmt.com.br


    • Editado Marlon Tiedt terça-feira, 18 de dezembro de 2012 20:26
    terça-feira, 18 de dezembro de 2012 20:25

Todas as Respostas

  • Fiz um teste, e parece que deu certo, na classe "CLIENTE" adicionei no model o código abaixo:

    public virtual ICollection<Setor> ListaSetores { get; set; }

    É correto esta implementação?

    Outra coisa, se eu tiver a classe função, que vai ser 1:N dos setores, mas vai estar vinculado ao cliente e ao setor selecionado, tem como filtrar este ICollection? Ou faço isto na minha view?

    abs


    Marlon Tiedt
    www.sesmt.com.br


    • Editado Marlon Tiedt terça-feira, 18 de dezembro de 2012 20:57
    terça-feira, 18 de dezembro de 2012 20:52
  • Esta certo sim a implementação. Na verdade é o recomendado.

    Para filtrar a coleção, você faz isso na hora de fazer a consulta. Com Linq fica fácil.

    quarta-feira, 19 de dezembro de 2012 21:09
  • Sim, correto!! É isso ae!!

    Agora deste modo é bem mais facil usar Linq e Entity.. como por exemplo expressoes lambdas...

    CLIENTE = clientebll.Find(c = c.ID_CLIENTE.Equals(ID)).First<CLIENTE>();

    abraços

    segunda-feira, 24 de dezembro de 2012 18:26