2009-11-03 16 views
6

Ich entwickle WCF-Dienst, der Entity-Framework als Datenquelle verwendet. Fast alles ist in Ordnung außer dem Problem mit gelöschten Datensätzen. In unserer Datenbank verwenden wir Soft Delete (Markierungsdatensatz IsDeleted = true). Meine Frage, wie weiche gelöschte Datensätze aus Entitätsgruppen ausgeschlossen werden könnenEntity Framework und weiche gelöschte Datensätze

Beispiel: Entität "A" hat Entitätsgruppe "Bs" (FK zu Tabelle "B"). Wie zu machen, dass "Bs" Entity Set nur enthält aus Datensätzen, die nicht gelöscht wird?

Danke

Antwort

0

Eine Möglichkeit, eine Definition von Abfrage zu verwenden wäre. Normalerweise behandeln wir dies jedoch im Repository, da wir in seltenen Fällen "weich gelöschte" Entitäten materialisieren wollen.

6

Ich habe einen Beitrag zu diesem Thema geschrieben, hoffe, es hilft.

http://blog.jorgef.net/2010/12/ef-soft-delete.html

+0

Eine Sache zu beachten ist, dass wenn Sie nicht die entry.ApplyOriginalValues ​​(entry.Entity) verwenden Sie Null-Werte für Ihre Navigationseigenschaften erhalten. – Noel

0

Sie könnten Sie EF Entitäten Ansichten Karte anstelle von Tabellen

CREATE VIEW vw_Currency AS 
SELECT 
    * 
FROM 
    Currency c 
WHERE 
    c.IsAKDeleted=0 

Ich habe auf einem System gearbeitet, das diesen Ansatz verwendet, aber es wurde auf EF basiert. Ich habe es nicht mit EF versucht

Verwandte Themen