Sql server 面向方面的SQL Server
是否有任何开源或其他库可以安装到SQL Server实例(2008或更高版本)中以强制实施AOP标准?我真的希望避免在我们的开发人员中使用模板强制执行交叉关注点。如果可以的话,AOP似乎是最好的选择 如果它还不存在,我会试着推出我自己的 编辑: 一些示例可能是将表子类化以生成特定类型的表,如mixin特性。我所处的数据仓库环境有很多审计需求,因此我们经常创建双时态表。如果有一个Sql server 面向方面的SQL Server,sql-server,aop,Sql Server,Aop,是否有任何开源或其他库可以安装到SQL Server实例(2008或更高版本)中以强制实施AOP标准?我真的希望避免在我们的开发人员中使用模板强制执行交叉关注点。如果可以的话,AOP似乎是最好的选择 如果它还不存在,我会试着推出我自己的 编辑: 一些示例可能是将表子类化以生成特定类型的表,如mixin特性。我所处的数据仓库环境有很多审计需求,因此我们经常创建双时态表。如果有一个 CREATE BITEMPORAL TABLE 语句,该语句将添加事务和有效时间,并针对这些表修改CRUD语句。(是
CREATE BITEMPORAL TABLE
语句,该语句将添加事务和有效时间,并针对这些表修改CRUD语句。(是的,我知道视图和触发器在某种程度上可以做到这一点。)更难实现的是具有特定日志记录或事务特征的存储过程,如
CREATE PROC FOO /* VERBOSE, ATOMIC, SERIALIZABLE */
并使用适当的T-SQL自动包装正文以执行这些操作。是的,可以添加存储过程来获取这些参数、生成SQL并编译这些工件。但缺点是没有强制执行——开发人员可以绕过该过程直接使用CREATE PROC——并且syscomments中的内容是生成的代码,而不是AOP注释版本,这打破了抽象。有趣。我甚至从未想过将AOP技术应用于SQL Server
使用SQL Server 2008,我相信您能够调用.NET代码,因此您可以使用标准的AOP工具,如PostSharp或Castle DynamicProxy。也许您有兴趣了解AO4SQL—一种将AO概念引入SQL的编程语言。从概念上讲,该工具适用于任何SQL server 您可以下载我在RAM-SE 2011上发表的论文“AO4SQL:面向方面的SQL扩展”:
请记住,AO4SQL是一个原型工具,但如果您想加入一个开源项目。。。请与我联系。你能举个例子说明你想强制执行什么吗?我想知道它的预期用途会非常有趣。它基本上是在查询之前和/或之后与内容挂钩,还是更复杂?