n层应用程序和linqdatasource

时间:2011-07-18 17:12:01

标签: binding domain-driven-design linqdatasource n-layer

Asp.net应用程序采用n层架构(如果是DDD架构则更好)。

在表示层中,我有一个网格(比方说telerik radgrid或标准gridview),我需要显示产品列表(产品是我的实体)。

有意义地讨论网格的Linqdatasource提供商吗?如何在这种情况下使用它?或者我应该编写绑定操作“manully”(拦截绑定事件并从我的应用程序层调用我的getproductlist函数?

欢迎举例......谢谢。

1 个答案:

答案 0 :(得分:0)

根据我的经验,LinqDataSource / SqlDataSource / ObjectDataSource控件几乎没有提供开发时间和阻碍可维护性。通常,我绑定到网格的代码看起来像这样:

using(ApplicationService appService = new ApplicationService())
{
    RadGrid1.DataSource = appService.GetCollection();
    RadGrid1.DataBind();
}

应用程序服务将调用存储库,其中将执行Linq查询。一些新的技术,例如CQRS,你的SQL查询只能是'SELECT * FROM TABLE',可能适合于DataSource对象,但我对此不满意。