Inspiré par http://huyrua.wordpress.com/2010/08/25/specification-pattern-in-entity-framework-4-revisited J'ai décidé d'écrire toutes les requêtes non triviales sur les spécifications. Mais у a rencontré un problème que je ne sais pas comment utiliser une spécification dans quelques fonctions:Modèle de spécification pour le référentiel?
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();
}
Je veux extraire la spécification « a => a.Email.ToUpper() == email.ToUpper() "Pour l'utiliser dans les deux fonctions, mais je devrais le paramétrer avec" email "(paramètre de fonction). Comment puis-je faire ceci?