寻找我目前面临的以下方案的意见/建议/链接。
平台:
任务:
选项:
好的 - 所以这就是我的想法。虽然在C#(LINQ-SQL)中执行此操作要容易得多,但它没有多大意义,因为大多数计算都是基于db中的值,并且随着时间的推移很难控制/优化/调试LINQ 。 因此,我倾向于创建一个托管程序集(C#类库),它包含查找值(常量)以及利用现有.NET BCL中的数学类。基本上我会公开一些可以由T-SQL存储过程调用的方法。
这对我来说有以下优点:
所以,说过 - 我以前从未这样做过(从T-SQL调用.NET assmembly),经过一些谷歌搜索后我能想到的最好的网站是here,这很有用但是已经过时了。
所以 - 我在问什么?嗯,首先 - 我需要一些更好的参考,如何实际做到这一点。 “这是”如何从SQL Server 2008中的T-SQL存储过程中调用C#.NET 4程序集。其次,谁在那里做了这个,你遇到了什么问题(如果有的话)?
意识到这可能很难提供一个“正确答案”,所以不好试着把它给予我一个好的链接和一个pro / con / /这个实现的问题列表给你答案的人。
干杯!
答案 0 :(得分:1)
关于SQL CLR的一个很好的介绍是Using CLR Integration in SQL Server 2005。 SQL Server CLR将仅加载CLR 2.0,并且只加载已批准库的子集,请参阅Supported .NET Framework Libraries。 .Net 3.5库(即.Linq)不受支持,但可以自行承担风险。但是,您无法成功将.Net 4程序集加载到SQL Server 2005,2008或2008 R2中。
答案 1 :(得分:0)
使用SQL Server运行托管程序集并不太复杂,只需按照Microsoft示例
即可但总的来说这是一个坏主意,你正在混合责任,并可能试图过早地优化
只需制作干净利落的代码,使用无需复杂的系统即可完成工作,而“下一个人”会感谢您的支持