随着 .NET 3.5 和 IQueryable<T>
的推出界面,会出现新的模式。虽然我已经看到了规范模式的许多实现,但我还没有看到许多其他模式使用这种技术。 Rob Conery 的 Storefront 应用程序是另一个使用 IQueryable<T>
的具体示例。这可能会导致一些新的模式。
从有用的IQueryable<T>
中出现了哪些模式界面?
最佳答案
它当然也使存储库模式更易于实现。您基本上可以创建一个通用存储库:
public class LinqToSqlRepository : IRepository
{
private readonly DataContext _context;
public LinqToSqlRepository(DataContext context)
{
_context = context;
}
public IQueryable<T> Find<T>()
{
return _dataContext.GetTable<T>(); // linq 2 sql
}
/** snip: Insert, Update etc.. **/
}
然后将它与 linq 一起使用:
var query = from customers in _repository.Find<Customer>()
select customers;
关于linq - 使用 IQueryable<T> 的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/114222/