elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  problema con Entity Framework
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con Entity Framework  (Leído 3,717 veces)
Fabricio

Desconectado Desconectado

Mensajes: 115


Ver Perfil
problema con Entity Framework
« en: 3 Mayo 2010, 02:55 am »

Hola estoy haciendo una aplicacion basica de 2 tablas Personas y Paises donde c/persona tiene un pais asociado
el problema que tengo surge cuando quiero modificar una persona o agregar una nueva persona (no hay abm de paises) cuando quiero  asociarle su IdPais me da error
el nombre de la propiedad de navegacion en la tabla Personas del modelo entity se llama Pais
Trabajo en capas hay una capa de datos en donde va el codigo que pegue y una capa de objetos con dos clases Personas y Paises
Personas tiene 3 propiedades Id, NombrePersona y IdPais
Pais tiene 2 propiedades IdPais y NombrePais
Código:
// este es el codigo para modificar
public void Modificar(CapaObjetos.Personas p)
        {
            using (var modifPersona = new PersonasModelo())
            {
                var modif = from pers in modifPersona.Personas.Include("Pais")
                           where pers.Id == p.Id
                           select pers;

                var reg = modif.FirstOrDefault();    
                reg.Nombre = p.Nombre;
                reg.Pais.IdPais = p.IdPais; //error              
                //reg.IdPais = p.IdPais;   // tambien da error              
                modifPersona.SaveChanges();
              
            }
        }

// este es el codigo para agregar
public void Agregar(CapaObjetos.Personas persona)
        {
            using (var datosPersona = new PersonasModelo())
            {
                CapaDatos.Personas newPersona = new CapaDatos.Personas();                
                newPersona.Id = persona.Id;
                newPersona.Nombre = persona.Nombre;                
                newPersona.Pais.IdPais = persona.IdPais;  //error          
                datosPersona.AddToPersonas(newPersona);
                datosPersona.SaveChanges();
            }
        }

saludos y muchas gracias por su ayuda


« Última modificación: 3 Mayo 2010, 04:17 am por fabricioAngel » En línea

MANULOMM


Desconectado Desconectado

Mensajes: 559


Erepublik.com


Ver Perfil
Re: problema con Entity Framework
« Respuesta #1 en: 4 Mayo 2010, 03:17 am »

El error esta en que estas modificando el Id del pais de la tabla paises.

Código
  1. reg.Pais.IdPais = p.IdPais; //error  (NO PUEDES MODIFICAR EL IDPAIS DEL PAIS SOLO EL IDPAIS DE LA PERSONA.)            
  2. //reg.IdPais = p.IdPais;   // no deberia darte error siempre y cuando el p.IdPais este en la tabla de Pais
  3.  
  4. newPersona.Pais.IdPais = persona.IdPais;  //error    
  5.  
  6. newPersona.IdPais = persona.IdPais;  //deberia ser asi.
  7.  
  8.  

Atentamente,

Juan Manuel Lombana
Microsoft Student Partner
Microsoft Certified Professional
Medellín - Colombia


En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ADO.NET Entity Data Model
.NET (C#, VB.NET, ASP)
poxomata 1 4,051 Último mensaje 29 Diciembre 2010, 12:46 pm
por Novlucker
ADO.NET Entity Framework en C#
.NET (C#, VB.NET, ASP)
Basil 3 5,618 Último mensaje 5 Febrero 2011, 20:29 pm
por [D4N93R]
Ayuda con Nginx Error - 413 Request Entity Too Large
GNU/Linux
WIитX 4 2,845 Último mensaje 9 Enero 2015, 00:02 am
por WIитX
¿Entity Framework o MySql? (Pregunta)
.NET (C#, VB.NET, ASP)
DeMoNcRaZy 1 1,867 Último mensaje 15 Septiembre 2015, 22:57 pm
por dato000
hacer dos consultas diferentes en entity framework
.NET (C#, VB.NET, ASP)
djnilo 1 2,203 Último mensaje 9 Mayo 2017, 14:41 pm
por TickTack
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines