【发布时间】:2011-01-13 14:44:04
【问题描述】:
受http://huyrua.wordpress.com/2010/08/25/specification-pattern-in-entity-framework-4-revisited 的启发,我决定编写所有关于规范的重要查询。 但是你遇到了一个问题,我不知道如何在几个函数中使用一个规范:
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 => a.Email.ToUpper() == email.ToUpper()”以在两个函数中使用它,但我应该使用“email”(函数参数)对其进行参数化。我该怎么做?
【问题讨论】:
标签: .net linq domain-driven-design repository specifications