Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 面向方面的SQL Server_Sql Server_Aop - Fatal编程技术网

Sql server 面向方面的SQL Server

Sql server 面向方面的SQL Server,sql-server,aop,Sql Server,Aop,是否有任何开源或其他库可以安装到SQL Server实例(2008或更高版本)中以强制实施AOP标准?我真的希望避免在我们的开发人员中使用模板强制执行交叉关注点。如果可以的话,AOP似乎是最好的选择 如果它还不存在,我会试着推出我自己的 编辑: 一些示例可能是将表子类化以生成特定类型的表,如mixin特性。我所处的数据仓库环境有很多审计需求,因此我们经常创建双时态表。如果有一个 CREATE BITEMPORAL TABLE 语句,该语句将添加事务和有效时间,并针对这些表修改CRUD语句。(是

是否有任何开源或其他库可以安装到SQL Server实例(2008或更高版本)中以强制实施AOP标准?我真的希望避免在我们的开发人员中使用模板强制执行交叉关注点。如果可以的话,AOP似乎是最好的选择

如果它还不存在,我会试着推出我自己的

编辑:

一些示例可能是将表子类化以生成特定类型的表,如mixin特性。我所处的数据仓库环境有很多审计需求,因此我们经常创建双时态表。如果有一个

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是一个原型工具,但如果您想加入一个开源项目。。。请与我联系。

你能举个例子说明你想强制执行什么吗?我想知道它的预期用途会非常有趣。它基本上是在查询之前和/或之后与内容挂钩,还是更复杂?