Show fk name on the grid

-1

This is the select of my proc

select f.id
               ,f.nome
               ,f.dataNascimento
               ,f.cpf
               ,f.cidade
               ,c.nome
         from  
            funcionarios f inner join cidade c on f.cidade = c.id

and my cidae model is like this

public class Cidade
    {
        public Cidade()
        {
            Funcionarios = new List<Funcionario>();
        }
        [Key]
        public int id { get; set; }
        [Required]         
        public String nome { get; set; }
        public virtual ICollection<Funcionario> Funcionarios { get; set; }
    }

and the Employee model

public class Funcionario
    {
        [Key]
        public int id { get; set; }
        [Required]
        public String nome { get; set; }
        [Required]
        public DateTime dataNascimento { get; set; }
        [Required]
        public long cpf { get; set; }
        [Required]
        public int cidade { get; set; }
        [ForeignKey("cidade")]
        public virtual int Cidade { get; set; }
    }

When I use the service that goes to the bank, I get this error.

  

System.InvalidOperationException: 'The property' city 'can not be   configured as a navigation property. The property must be valid   entity type and the property should have a non-abstract getter and   setter. For collection properties the type must implement   ICollection where T is a valid entity type. '

    
asked by anonymous 10.08.2018 / 15:25

1 answer

3

Switch

public virtual int Cidade { get; set; }

by

public virtual Cidade Cidade { get; set; }
    
10.08.2018 / 15:27