我可以通过SQL Server触发器调用C#函数吗?

时间:2011-01-27 07:57:23

标签: c# asp.net sql-server linq-to-sql triggers

外部应用程序来到我的数据库,用于在Sql server表中插入行。

我自己有一个Web应用程序,我希望在此表中的每个插入,执行一些服务器端。

我的想法是在表上插入时创建一个触发器,然后调用适当的函数。

最好的方法是什么?

我使用带有LINQ to SQL的框架3.5和SQL Server 2005数据库。

修改:谢谢您的回答。 SQL Server CLR集成不会这样做。支持的少数库不符合我的要求。

我必须记录的表格每隔5分钟就会创造一条新记录,而不是那么多。 也许我每分钟都能找到一份工作,看看身份证,拿走所有新身份证,做我的治疗。 我的解决方案不是太难看了吗?

2 个答案:

答案 0 :(得分:6)

答案 1 :(得分:1)

如果您的函数需要花费很长时间才能运行,或者要访问不属于同一数据库的资源,您可能需要考虑将函数调用与触发器分离(以便原始语句导致触发器触发可以完成)。

在这种情况下,您可能希望查看Service Broker,或者只是使用单独的表对请求进行排队以调用该函数(并使用SQL代理作业将这些请求出列并调用该函数)。