0

WCF RIA サービスを扱う場合、ビジネス ルールをサーバーに置くことができると読んだことがありますが、何をどのように達成するのか途方に暮れています。基本的に私が持っているのは、データベースに暗号化された文字列が保存されていることです。その列を返すビューがあり、暗号化されていない状態でクライアントに返されるようにしたいと考えています。標準の DomainService Get メソッドがあります

    public IQueryable<qry_ClientList> GetQry_ClientList(Guid Key)
    {
        return this.ObjectContext.qry_ClientList.OrderBy(p => p.ClientCode);
    }

そのフィールドが返される前に、そのフィールドで復号化関数を呼び出す方法を誰かが正しい方向に向けることができますか? これをサーバーではなくコードで実行したい理由がありますが、ここでは説明しません。

4

2 に答える 2

0

最初にエンティティをリストに実体化し、関数を実行してから、リストを IQueryable に変換してから返します。

public IQueryable<qry_ClientList> GetQry_ClientList(Guid Key)
{
    List<qry_ClientList> clients = 
        this.ObjectContext.qry_ClientList.OrderBy(p => p.ClientCode).ToList();
    foreach (qry_ClientList c in clients) {
        Decrypt(c);
    }
    return clients.AsQueryable;
}
于 2013-08-04T20:51:53.857 に答える