我发现了许多使用 LINQ to SQL 的通用存储库示例。然而,关于如何调用这些函数的例子并不多。您能否举例说明客户如何使用以下功能?
注意:我的问题是关于Func T,bool的使用。有哪些可能的使用方法?
注意:BankAccount 是一个实体。
class MyRepository<T> : IRepository<T> where T : class
{
..........
public IEnumerable<T> FindAll(Func<T,bool> predicate)
{
return Context.GetTable<T>().Where(predicate);
}
public T FindByID(Func<T,bool> predicate)
{
return Context.GetTable<T>().SingleOrDefault(predicate);
}
}
编辑
根据响应,我使用它如下;
public RepositoryLayer.Account FindFirstAccount()
{
Func<RepositoryLayer.Account, bool> predicate = (p => p.AccountNumber == 1);
List<RepositoryLayer.Account> accList = (accountRepository.FindAll(predicate)).ToList();
return accList[0];
}
注意:列出 RepositoryLayer.Account accList = (List RepositoryLayer.Account) accountRepository.FindAll(predicate); 不管用