1

特定のユーザーに対して匿名化する必要があるデータ フィールドを含む一連のエンティティがあります。製品データベースがありますが、製品の本当の名前は特定のユーザーにのみ表示されます。他のユーザーには、製品名の「匿名」バージョンが表示されます (匿名名は製品テーブルの別のフィールドに保存されます)。

簡単にEntity Frameworkを使用してこれに対応するにはどうすればよいですか。マッパー フレームワークとサービス レイヤーが用意されており、最初のアプローチは、製品のリストを返すすべてのメソッドの最終結果をマッピングすることでしたが、ナビゲーション プロパティが失われつつあり、複製を避けたいと考えています。 DTO として完全な EF 構造。

EF にユーザーベースのデータ置換を挿入する簡単な方法はありますか?

4

1 に答える 1

0

個人的には、これを行う抽象レイヤーを使用します。例: リポジトリ パターン。

public virtual TPoco Get(Expression<Func<TPoco, bool>> predicate) {
 //This routine would execute the normal find or first as you like...eg
 var resultEntity = Context.Set<TPoco>().FirstOrDefault(predicate);
 // but before returning.
 var anonResult  = Blender<poco>(TPoco resultEntity); // this does the anon massaging 
 return AnonResult;
}
于 2013-05-21T07:08:38.763 に答える