Tengo un problema al usar EF4, cuando intento verificar si el objeto ya está dentro del contexto de Entity Framework.Verificar si el objeto ya está dentro del contexto de Entity Framework
que tienen el código de abajo
var entityName = Entity4Test + Guid.NewGuid();
using(var ctx = new EnviroDataContext())
{
var etc = new Entity
{
Name = entityName
};
ctx.Entity.AddObject(etc);
var q = from p in ctx.Entity
where p.Name == entityName
select p;
// Why 'q.ToList().Count == 0'?
ctx.SaveChanges();
}
Mi pregunta es, ¿por qué mi búsqueda después de la inserción, salió vacío?
Sé que los datos se conservan después de 'Guardar Cambios', pero ¿qué ocurre si necesito 'consultar' los datos de mi memoria de entidad.
La extensión de la pregunta
Tengo una regla de negocio mediante la adición de 1 punto A, desencadena la inserción de otras entidades B. La cuestión es, tengo regla de validación que al insertar B, t A ya debe existir.
Dado que todas estas acciones se realizan antes de 'Guardar Cambios', me sale un error de que EntityA no existe.
Otro caso, tengo un campo Nombre que es único en una tabla. Si intento ejecutar AddEntityName ("bla") dos veces y luego "SaveChanges", obtengo una excepción de DB [restricciones exclusivas], incluso después de pasar mi validación para la inserción, lo que garantiza que un nombre sea único.
¿Alguien tiene alguna idea?
Entiendo lo que dices, pero la pregunta es si ese comportamiento tiene sentido, si tienes reglas comerciales que implican más inserciones y validaciones. – muek
@muek - lo siento, no entiendo su pregunta. ¿Qué quieres decir? – RPM1984
lol mi mal. mira mi pregunta extendida – muek