2009-11-03 20 views
6

エンティティフレームワークをデータソースとして使用しているWCFサービスを開発中です。削除されたレコードの問題を除いてほとんどすべてがOKです。私たちのデータベースでは、ソフト削除(レコード属性IsDeleted = trueをマーク)を使用しています。エンティティセットからソフト削除されたレコードを除外する方法私の質問?エンティティフレームワークとソフト削除レコード

たとえば、エンティティ "A"はエンティティセット "Bs"(FKからテーブル "B")を持ちます。 "Bs"エンティティセットを作る方法は削除されていないレコードを含んでいますか?

答えて

0

一つの方法は、定義クエリを使用することです、ありがとうございました。まれに、「ソフト削除された」エンティティを実際に実現したいので、リポジトリでこれを処理します。

6

私はこのトピックについての投稿を書いています。

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

+0

あなたがentry.ApplyOriginalValues(entry.Entity)を使用しないと、あなたのナビゲーションプロパティのnull値が得られます。 – Noel

0

あなたはビューの代わりに、テーブル

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

私はこのアプローチを使用し、システムに取り組んできましたが、それはEFに基づいていなかったにあなたのEFのエンティティをマッピングすることができます。私はEFでそれを試していません

関連する問題