linq - 使用 IQueryable<T> 的设计模式

标签 linq design-patterns .net-3.5 iqueryable

随着 .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/

相关文章:

c# - Linq TotalCount 为 "Grandchildren",具有空检查和属性筛选器

c# - 将小数从 LINQ 查询转换为货币

c# - 使用 Ninject 注入(inject)工厂字典

支持相互依赖的javascript模块模式

asp.net - 获取DataPager当前页码

c# - 具有连接和计数的快速 linq 查询

C# List 加入列表并从另一个列表中过滤

c# - 'TryParse' 或 'TryGetValue' 的示例实现

c# - 编辑多级嵌套对象列表的正确方法

c# - 通用父集合拆分为子集合