我现在一直在试用 Kendo MVC 辅助框架(特别是与我通过实体框架间接绑定到数据库的网格一起工作),虽然它很酷,但我遇到了一些问题/担忧m,希望这里的人能够提供帮助。
我在 Kendo 网站上看到的大多数示例都显示了直接从控制器运行的ToDataSourceResult IQueryable 扩展方法的强大功能,在我们正在构建的系统中,它不会运行——我们需要有一个明确的解耦控制器和服务/dal/ef 层。这意味着这些层将不得不依赖于 kendo.mvc.dll,这是架构师关心的问题,因为它与我们在产品的整个生命周期中与 Kendo 保持紧密联系。
访问由 Kendo dll 中的 Dynamic Linq 扩展生成的实际原始表达式将解决我的问题,因为我将能够接收DataSourceRequest,获取各种表达式集合(排序、过滤、组等)并将它们传递下去在没有任何 Kendo 知识的情况下进入我的业务层,执行它们,然后将它们返回的结果打包到DataSourceResult中。
这样,如果项目进行到一半,客户端框架发生变化,我只需要担心如何为新框架生成表达式,根本不需要接触我的底层。
有谁知道这是否可能?据我所知,Kendo.Mvc.Infrastructure.* 命名空间中的所有表达式构建器都是内部的或私有的......