Foros del Web » Programación para mayores de 30 ;) » .NET »

Entity Framework - Problema con .AddObject() y SaveChanges

Estas en el tema de Entity Framework - Problema con .AddObject() y SaveChanges en el foro de .NET en Foros del Web. Hola amigos. He visto 2 tutoriales en Youtube sobre Entity Framework de distintos autores y me he encontrado con el mismo error. Evidentemente, en mi ...
  #1 (permalink)  
Antiguo 17/10/2015, 12:54
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 9 meses
Puntos: 7
Pregunta Entity Framework - Problema con .AddObject() y SaveChanges

Hola amigos.
He visto 2 tutoriales en Youtube sobre Entity Framework de distintos autores y me he encontrado con el mismo error. Evidentemente, en mi computadora algún archivo, referencia o algo hace falta. El detalle es que no puedo avanzar hasta resolver este problema.

Este es el código:

Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AccesoADatos; //
using System.Data;

namespace PruebaConsola
{
    class Program
    {
        static void Main(string[] args)
        {
            NorthWindDBModelContainer context = new NorthWindDBModelContainer();

            Categoria Bebidas = new Categoria
            {
                Nombre = "Bebidas embotelladas"
            };

            Console.WriteLine("categoria antes de agregar al contexto: {0}", context.Categorias.Count());


            context.Categorias.AddObject(Bebidas);
            Console.WriteLine("categorias antes de guardar a la base de datos: {0}", context.Categorias.Count());

            context.SaveChanges();


        }
    }
}

Obtengo el siguiente error:

Cita:
Error 1 'AccesoADatos.NorthWindDBModelContainer' no contiene una definición de 'SaveChanges' ni se encontró ningún método de extensión 'SaveChanges' que acepte un primer argumento de tipo 'AccesoADatos.NorthWindDBModelContainer' (¿falta una directiva de uso o una referencia de ensamblado?) D:\visual_studio\laboratorio\Entity_Framework\Prog ram.cs 27 21 PruebaConsola

context.SaveChanges();
El SaveChanges() está subrayado de color rojo.


context.Categorias.Count()),
Y el "Count()" no aparece con el intellisense.

En el namespace "AccesoADatos" se encuentra el ORM, entiddes, etc. Utilicé "Model First" para crear las Entidades
__________________
Loading...
  #2 (permalink)  
Antiguo 17/10/2015, 13:02
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 10 meses
Puntos: 52
Respuesta: Entity Framework - Problema con .AddObject() y SaveChanges

Como esta declarada la clase NorthWindDBModelContainer?
  #3 (permalink)  
Antiguo 19/10/2015, 20:40
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 9 meses
Puntos: 7
Exclamación Respuesta: Entity Framework - Problema con .AddObject() y SaveChanges

Gracias amigo agleiva.
Esta es la clase:

Código:
//------------------------------------------------------------------------------
// <auto-generated>
//    Este código se generó a partir de una plantilla.
//
//    Los cambios manuales en este archivo pueden causar un comportamiento inesperado de la aplicación.
//    Los cambios manuales en este archivo se sobrescribirán si se regenera el código.
// </auto-generated>
//------------------------------------------------------------------------------

namespace AccesoADatos
{
    using System;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    
    public partial class NorthWindDBModelContainer : DbContext
    {
        public NorthWindDBModelContainer()
            : base("name=NorthWindDBModelContainer")
        {
        }
    
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }
    
        public DbSet<Producto> Productos { get; set; }
        public DbSet<Categoria> Categorias { get; set; }
    }
}



Este es el segundo video que estuve viendo:
https://www.youtube.com/watch?v=9RPGTuxDFK0
El tutor explica bien. Lamentablemente a mi y a otro usuario que comentó, no le funcionó.

EMPECÉ, NUEVAMENTE DESDE CERO
Por segunda vez, repetí el proceso desde 0. Fuí más observador en cada detalle. Noté que el "Entity Framework Designer" tiene una propiedad diferente. Se llama "ESTRATEGIA DE GENERACION DE CODIGO". El tutor tenía el valor en "PREDETERMINADO" y en mi computadora el valor de "NINGUNO". Esto se ve en el video, en el 9:47

https://youtu.be/9RPGTuxDFK0?t=587


Lo cambié, a PREDETERMINADO y continué el proceso, pero mas bien este cambio me generó 2 errores más. Yo tengo el Visual Studio 2012 y el tutor 2010.

RESOLVI CON UN TERCER VIDEO
Decidí buscar otro video. Te comento que encontré una tercer alternativa. Aunque, no llegué a saber el problema del segundo, resolví viendo un tercer video tutorial.

https://www.youtube.com/watch?v=M6LuqJ_w5m0

El código de este tercer tutor, es un poco diferente al del segundo. Seguí los pasos indicados y con este tercer video si funcionó todo. Sin ningún error. En este tercer video se usó solamente una capa. Pero escribo este post para agradecer y por si alguno llegue a necesitarlo.

PUEDE SER ALGUNA REFERENCIA
En el video anterior (segundo), el tutor usó 2 capas (AccesoADatos y PuebaConsola).
Tuve cuidado de agregar las referencias, según se indica el video. Supongo, que el problema está en alguna referencia que faltó.
Me quedó la duda, sin embargo, si llegara a encontrar la solución, lo compartiré por acá.
Es parte del aprendizaje.
__________________
Loading...

Etiquetas: entidad, orm
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:32.