我目前正在使用一个 CMS,它使用带有自己定制查询语言的 ORM(即使用 select/where/orderby 之类的语句)。我将这种迷你语言称为 DSL,但我可能用错了术语。
我们正在为此 CMS 编写控件,但我不希望将控件耦合到 CMS,因为我们对是否要长期继续使用此 CMS 有一些疑问。
通过使用我们自己的 DAL/抽象层或其他什么,我们可以很容易地将我们的控件与 CMS 分离。
然后我记得在大多数 CMS 控件上,它们提供了一个属性(设计时可编辑),用户可以在其中键入查询来控制数据源中填充的内容。不错的功能 - 问题是我如何抽象这个功能?
然后我想到可能存在一个 DSL 框架,它可以为我提供一种简单的查询语言,可以在运行时转换为 LINQ 表达式。从而使我与 CMS 的查询 DSL 脱钩。
这样的事情存在吗?我在浪费时间吗?(可能是后者)
谢谢