によって誘致http://huyrua.wordpress.com/2010/08/25/specification-pattern-in-entity-framework-4-revisited私はすべての重要でない質問を仕様書に書くことに決めました。 は、しかし、私はいくつかの関数で1つの仕様を使用する方法を知ってはいけない問題が発生したу:リポジトリの仕様パターン?
public bool CheckAccountEmailExist(string email)
{
var emailExistSpec = new Specification(a => a.Email.ToUpper() == email.ToUpper());
return _accountRepository.GetBy(emailExistSpec).Any();
}
public bool CheckAccountEmailExist(string email, Guid exceptAccountId)
{
var emailExistSpec = new Specification(a => a.Email.ToUpper() == email.ToUpper());
var exceptAccountSpec = new Specification(a => a.Id != exceptAccountId);
return _accountRepository.GetBy(emailExistSpec.And(exceptAccountSpec)).Any();
}
が、私は「仕様を抽出したいを=> a.Email.ToUpper()== email.ToUpper() "両方の関数で使用することができますが、私は" email "(関数パラメータ)でパラメータ化する必要があります。これどうやってするの?その後
class EmailSpecification : Specification {
public EmailSpecification(string email) :
base(a => a.Email.ToUpper() == email.ToUpper())
{
}
}
:私はあなたにリンクするページを表示することはできませんが、私はそれがこのような何かを行くだろうと想像何らかの理由