Ich erhalte ein Problem bei der Verwendung von EF4, wenn ich versuche zu überprüfen, ob das Objekt bereits im Entity Framework-Kontext ist.Überprüfen, ob das Objekt bereits im Entity Framework-Kontext ist
Ich habe diesen Code unter
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();
}
Meine Frage ist, warum nach dem Einsetzen meiner Suche kam leer?
Ich weiß, dass die Daten nach "SaveChanges" beibehalten werden, aber was ist, wenn ich meine Entity-Speicherdaten "abfragen" muss.
Erweiterung der Frage
ich ein Unternehmen haben in der Regel, dass durch Zugabe von 1 Punkt A, löst das Einfügen von anderen Entitäten B. Das Problem ist, ich Gültigkeitsregel haben, dass beim Einsetzen von B, t A muss schon existieren.
Da alle diese Aktionen vor 'SaveChanges' ausgeführt werden, erhalte ich den Fehler, dass EntityA nicht existiert.
Anderer Fall, ich habe ein Namensfeld, das in einer Tabelle eindeutig ist. Wenn ich versuche, AddEntityName ("bla") zweimal und dann "SaveChanges" auszuführen, erhalte ich eine Ausnahme von DB [Unique constraints], auch nachdem ich meine Validierung für die Einfügung bestanden habe, die garantiert, dass ein Name eindeutig ist.
Wer hat eine Idee?
Ich verstehe, was Sie sagen, aber die Frage ist, wenn dieses Verhalten sinnvoll ist, wenn Sie Geschäftsregeln haben, die mehr Einfügungen und Validierungen impliziert? – muek
@muek - Entschuldigung, verstehe deine Frage nicht. Was meinen Sie? – RPM1984
lol mein Schlechter. Schau dir meine erweiterte Frage an. – muek