Je rencontre un problème lors de l'utilisation d'EF4 lorsque j'essaie de vérifier si l'objet se trouve déjà dans le contexte Entity Framework.Vérifiez si l'objet se trouve déjà dans le contexte Entity Framework
J'ai ce code ci-dessous
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();
}
Ma question est, pourquoi ma recherche après l'insertion, est sorti vide?
Je sais que les données sont conservées après 'SaveChanges', mais que faire si j'ai besoin de 'interroger' mes données de mémoire d'entité.
L'extension de la question
J'ai une règle métier en ajoutant 1 point A, déclenche l'insertion des entités autres B. La question est, je règle de validation lors de l'insertion de B, t A doit déjà exister.
Parce que toutes ces actions sont effectuées avant 'SaveChanges', j'obtiens une erreur que EntityA n'existe pas.
Autre cas, J'ai un champ Nom unique sur une table. Si j'essaie d'exécuter AddEntityName ("bla") deux fois puis "SaveChanges", j'obtiens une exception de DB [Contraintes uniques], même après avoir passé ma validation pour l'insertion, qui garantit qu'un nom est unique.
Quelqu'un a une idée?
Je comprends ce que vous dites, mais la question est, si ce comportement est logique, si vous avez des règles métier qui impliquent plus d'insertions et de validations? – muek
@muek - désolé, je ne comprends pas votre question. Que voulez-vous dire? – RPM1984
lol ma mauvaise. consultez ma question étendue. – muek