none
Problema com classe RRS feed

  • Pergunta

  • Pessoal, estou aqui de novo... :)

    Continuando meus estudos e dúvidas de C#, vai mais uma ai. Tenho a classe abaixo:

        public class EPIGrupo : IEntidadeBase
        {
            [Key]
            public int GrupoID { get; set; }
    
            [Required(ErrorMessage = "Obrigatório")]
            [Display(Name = "Sigla")]
            [MaxLength(5)]
            public string Sigla { get; set; }
    
            [Required(ErrorMessage = "Obrigatório")]
            [Display(Name = "Descrição")]
            [MaxLength(250)]
            public string Descricao     { get; set; }        
    
            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; }
    
            public virtual Usuario Usuario { get; set; }
        }

    Adicionei a propriedade Usuario, porém quando é chamada a classe, o MVC procura na minha classe a propridade UsuarioID, e eu quero que o usuário seja referenciado/ligado a propriedade UsuCad.

    Como fazer isto?

    Abs

    Marlon Tiedt
    www.sesmt.com.br

    quarta-feira, 27 de junho de 2012 19:35

Respostas

  • Não sei se entendi direito..

    [ForeignKey("Usuario")]
    public int UsuCad{get;set;}


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    quarta-feira, 27 de junho de 2012 19:51
  • o int UsuCad foi mapeado EntidadexEntity Framework? Senão ele não vai saber injetar na Entidade,

    Verifique esse post 

    [ForeignKey("Usuario")]

    public int UsuCad { get; set; }

    public virtual Usuario Usuario{ get; set; }




    Não esqueça de marcar o post como útil caso tenha te ajudado.



    • Editado Marco Souza quinta-feira, 28 de junho de 2012 02:35
    • Marcado como Resposta Marlon Tiedt segunda-feira, 23 de julho de 2012 14:10
    quinta-feira, 28 de junho de 2012 00:39
  • A solução foi....

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.ComponentModel.DataAnnotations;
    using System.Data.Entity.ModelConfiguration.Conventions;
    using System.Web.Mvc;
    using ERP.Interface;
    
    namespace ERP.Models
    {
        public class EPIGrupo : IEntidadeBase
        {
            [Key]
            public int GrupoID { get; set; }
    
            [Required(ErrorMessage = "Obrigatório")]
            [Display(Name = "Sigla")]
            [MaxLength(5)]
            public string Sigla { get; set; }
    
            [Required(ErrorMessage = "Obrigatório")]
            [Display(Name = "Descrição")]
            [MaxLength(250)]
            public string Descricao     { get; set; }        
    
            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; }
            
            [ForeignKey("UsuarioID")]
            public Usuario 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; }
       
        }
    }

    Tks as respostas

    Marlon Tiedt
    www.sesmt.com.br

    • Marcado como Resposta Marlon Tiedt segunda-feira, 23 de julho de 2012 14:09
    segunda-feira, 23 de julho de 2012 14:09

Todas as Respostas

  • Não sei se entendi direito..

    [ForeignKey("Usuario")]
    public int UsuCad{get;set;}


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    quarta-feira, 27 de junho de 2012 19:51
  • Mas na classe EPIGrupo, quero trazer o nome do usuário. 

    [ForeignKey("Usuario")]


    Não estaria somente relacionando?

    Abs


    Marlon Tiedt
    www.sesmt.com.br

    quarta-feira, 27 de junho de 2012 19:55
  • Não entendi o que você quer =/

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    quarta-feira, 27 de junho de 2012 20:46
  • Assim Murilo, quero apresentar na View o nome do usuário que cadastrou o registro.
    O UsuCad, é o campo da base de dados que tem esta informação guardada.

    Ficou um pouco melhor ?

    Abs


    Marlon Tiedt
    www.sesmt.com.br

    quinta-feira, 28 de junho de 2012 00:00
  • o int UsuCad foi mapeado EntidadexEntity Framework? Senão ele não vai saber injetar na Entidade,

    Verifique esse post 

    [ForeignKey("Usuario")]

    public int UsuCad { get; set; }

    public virtual Usuario Usuario{ get; set; }




    Não esqueça de marcar o post como útil caso tenha te ajudado.



    • Editado Marco Souza quinta-feira, 28 de junho de 2012 02:35
    • Marcado como Resposta Marlon Tiedt segunda-feira, 23 de julho de 2012 14:10
    quinta-feira, 28 de junho de 2012 00:39
  • Sim estou usando EF com CF. Vou dar uma lida no link passado.
    Mas está dando o erro:

    Server Error in '/' Application.

    Nome de coluna 'Usuario_UsuarioID' inválido.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Nome de coluna 'Usuario_UsuarioID' inválido.


    Abs

    Marlon Tiedt
    www.sesmt.com.br


    • Editado Marlon Tiedt quinta-feira, 28 de junho de 2012 01:03
    quinta-feira, 28 de junho de 2012 00:52
  • Sim, no seu banco está usuCad e em sua entidade está UsuarioID

    Não esqueça de marcar o post como útil caso tenha te ajudado.

    quinta-feira, 28 de junho de 2012 01:24
  • Tem como ligar ambos? ou vou ter que fazer isto na mão.

    Mas está claro, que minha ideia é apresentar Usuario.Nome, e pelo que eu vi no link, que isto tem que ser UsuarioID na classe.

    Abs

    Marlon Tiedt
    www.sesmt.com.br

    quinta-feira, 28 de junho de 2012 01:29
  • use 

    Fonte

    [Column("NomeColunaBanco")]



    Não esqueça de marcar o post como útil caso tenha te ajudado.



    • Editado Marco Souza quinta-feira, 28 de junho de 2012 01:43
    quinta-feira, 28 de junho de 2012 01:41
  • Mas mesmo assim ainda dá erro....Eu uso [Column("NomeColunaBanco")] na classe EPIGrupo ou Usuario?

    Abs

    Marlon Tiedt
    www.sesmt.com.br

    quinta-feira, 28 de junho de 2012 02:18
  • A solução foi....

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.ComponentModel.DataAnnotations;
    using System.Data.Entity.ModelConfiguration.Conventions;
    using System.Web.Mvc;
    using ERP.Interface;
    
    namespace ERP.Models
    {
        public class EPIGrupo : IEntidadeBase
        {
            [Key]
            public int GrupoID { get; set; }
    
            [Required(ErrorMessage = "Obrigatório")]
            [Display(Name = "Sigla")]
            [MaxLength(5)]
            public string Sigla { get; set; }
    
            [Required(ErrorMessage = "Obrigatório")]
            [Display(Name = "Descrição")]
            [MaxLength(250)]
            public string Descricao     { get; set; }        
    
            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; }
            
            [ForeignKey("UsuarioID")]
            public Usuario 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; }
       
        }
    }

    Tks as respostas

    Marlon Tiedt
    www.sesmt.com.br

    • Marcado como Resposta Marlon Tiedt segunda-feira, 23 de julho de 2012 14:09
    segunda-feira, 23 de julho de 2012 14:09