linq设计模式

问题描述:

我正在构建一个ASP Web应用程序,目前我有一个名为Queries的名称空间,它包含从页面后面的代码调用的linq查询。整个网站最初将包含大约40个查询;稍后会添加更多内容。linq设计模式

我应该将所有的查询放在一个大的命名空间中,还是应该为每个页面的查询创建一个命名空间?例如,QueriesPageA,QueriesPageB,QueriesPageC ...并最终有大约10个较小的名称空间。

谢谢。

这听起来像你正在构建business logic layer

如果您使用的是LINQ to SQL或实体框架,您将拥有一组紧密代表您的业务领域的实体类。

我更愿意将我的查询添加到实体类中作为静态方法。这使我的查询整齐地分布(所以我没有结束一个巨大的业务逻辑类)并且很容易找到(检索一组用户的查询将存在于用户类中)。

如果查询产生聚合或报告(按年份分组卖饼干的量例如),然后我通常为报表创建一个新的类。这样,该报告本身就成为一个模型,如果这是您正在考虑的问题,则该模型在MVC体系结构中运行良好。

我想分裂出来是个好主意,但它会更容易阅读,不易混淆的基础上,他们正在返回他们原来使用的页面,而不是数据,例如创建命名空间MyApp.Queries.Customers,MyApp.Queries.Orders。