Porque no ingresa datos en la base datos usando entityframework

Iniciado por Juanma91, 8 Junio 2013, 01:41 AM

0 Miembros y 1 Visitante están viendo este tema.

Juanma91

1º La base de datos en sql compact

2º no la tengo importada en el proyecto

   Public Sub add(ByVal juguete As Juguete) Implements IJugueteDAO.add
       ' Creo acceso a db a través de EF
       Dim ef = New juguetes1Entities()

       ' Creo juguete en la base de datos
       Dim jugueteEf = ef.Juguetes.CreateObject()
       ' Le asigno los valores de mi modelo
       jugueteEf.EdadMinima = juguete.EdadMinima
       jugueteEf.Nombre = juguete.Nombre
       jugueteEf.Precio = juguete.Precio
       ' Guardo los cambios en la db
       ef.SaveChanges()
   End Sub



borrar...


Public Sub remove(ByVal juguete As Juguete) Implements IJugueteDAO.remove
       Dim ef = New juguetes1Entities()

       ' Busco en la db el juguete por el ID
       Dim jugueteEf = From s In ef.Juguetes Where s.Id = juguete.Id

       ' Tras eso, lo borro
       ef.Juguetes.DeleteObject(jugueteEf)
       ' Creo que en el delete save es opcional...
       ef.SaveChanges()
   End Sub



actualizar....


   Public Function Update(ByVal juguete As Juguete) Implements IJugueteDAO.update
       Try
           Dim ef = New juguetes1Entities
           Dim productoEF = (From s In ef.Juguetes Where s.Id = juguete.Id Select s).First()
           productoEF.Nombre = juguete.Nombre
           productoEF.EdadMinima = juguete.EdadMinima
           productoEF.Precio = juguete.Precio

           ef.SaveChanges()
           Return True
       Catch
           Return False
       End Try
   End Function




en el form....

Class MainWindow

   Dim juguete As Juguete

   Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded


       For Each j In CatalogoJuguetes.Instancia.getAll
           ComboBox1.Items.Add(j)
       Next
   End Sub

 

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click

       Dim precio = Double.Parse(TextBox1.Text.ToString)
       Dim nombre = TextBox2.Text.ToString
       Dim edad = TextBox3.Text.ToString
       Dim id = Integer.Parse(TextBox4.Text.ToString)

       juguete = New Juguete(precio, edad, nombre, id)
       CatalogoJuguetes.Instancia.add(juguete)
       ComboBox1.Items.Add(juguete)

   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button2.Click
       ComboBox1.Items.Remove(juguete)


           CatalogoJuguetes.Instancia.remove(juguete)

   End Sub



AL AÑADIR ME LO AÑADE AL COMBOBOX Y SUPUESTAMENTE EN LA BASE DE DATOS PERO CUANDO VUELVE A EJECUTARLO, ESTE NO ME APARECE, BORRAR ME SALTA UN InvalidCastException Y LA VERDAD NO SÉ SOLUCIONARLO Y EL TERCERO QUERRIA ACTUALIZARLO .. SI PUEDEN AYUDARME GRACIAS