I am having problems with the keys when trying to make my controllers, I was reading some of the already questions posted in here, and I found that I needed to explicitly define the key in the variable, and I did so.. but the problem still persist and I don't know how to fix it.
Error is something like this:
"Entity Type 'Product' has no key defined, EntitySet 'Products' has no keys defined"
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;
using System.Linq;
using System.Web;
namespace MVC_Catalogo.Models
{
  public class Product
{
    private String descripcion { get; set; }
    private String barras { get; set; }
    private String alterno { get; set; }
    private double precioc { get; set; }
    private double preciop { get; set; }
    private String imagen { get; set; }
    [Key]
    private Guid productoId { get; set; }
    private Guid idproveedor { get; set; }
    private int activo { get; set; }
    public class JomDBContext : DbContext
    {
        public DbSet<Product> Products { get; set; }
    }
}
}
 
                        
Answer:
I'm not sure if any of these are the issue, but you might try: 1. making the properties public instead of private. 2. matching up the class name with the ID field. So change productoId to ProductId. 3. Annotating the ID field with [DatabaseGenerated(DatabaseGeneratedOption.Identity] as well as [Key]