none
MVC y Entity Framework RRS feed

  • Pregunta

  • Buen día, estoy haciendo mi primer aplicación con entity framework la cual es con la plantilla de MVC.

    Estoy tratando de implementar con la opción code first.

    Tengo estas clases:

    	public class EFDbContext : DbContext
    	{
    		public DbSet<Category> Category { get; set; }
    		public DbSet<Item> Item { get; set; }
    	}
    
    
    	public class Item
    	{
    		public ushort Id { get; set; }
    		public ushort Year { get; set; }
    		public decimal Price { get; set; }
    		public string Name { get; set; }
    		public virtual Category Category {get; set; }
    	}
    
    
    	public class Category
    	{
    		public byte Id { get; set; }
    		public string Name { get; set; }
    	}

    y tengo el siguiente código: 

    			EFDbContext context = new EFDbContext();
    			IEnumerable<Category> categories = new Category[]
    			{
    				new Category{ Name = "Movie" }
    				, new Category{ Name = "Music" }
    				, new Category{ Name = "Memory" }
    				, new Category{ Name = "Image" }
    				, new Category{ Name = "Video" }
    				, new Category{ Name = "Serie" }
    			};
    
    			context.Category.AddRange(categories);

    y el AddRange me lanza una exception:

    One or more validation errors were detected during model generation:

    EntityType 'Item' has no key defined. Define the key for this EntityType.
    Item: EntityType: EntitySet 'Item' is based on type 'Item' that has no keys defined.

    Por favor alguien que me diga que estoy haciendo mal

    De antemano gracias

    martes, 1 de agosto de 2017 18:32

Respuestas

  • Bueno, encontré el problema, al parecer entity framework no acepta el tipo de dato ushort como llave primaria, lo cambie por short y funciono.
    • Marcado como respuesta jeduardonl jueves, 3 de agosto de 2017 16:52
    jueves, 3 de agosto de 2017 16:52

Todas las respuestas