在SQL Server中嵌入.NET程序集的最佳实践
时间:2020-03-05 18:55:52 来源:igfitidea点击:
创建将嵌入到SQL Server 2005的.NET程序集时,应遵循哪些重要的惯例?
我对此是全新的,而且我发现有很多重要的方法属性,例如:
[SqlFunction(FillRowMethodName = "FillRow", TableDefinition = "letter nchar(1)")]
我也在寻找需要避免的常见陷阱,等等。
解决方案
回答
我记得一些:
- 将其使用量降至最低,仅在T-SQL证明过于复杂时才使用它。
- 不惜一切代价避免使用指针/游标,因为for循环在CLR上下文中很容易被滥用。
- 除非完全必要,否则仅使用SQL-Server本机数据类型。
我不记得在哪里找到这些信息,但是我确实记得这些信息。
基本上,仅在声明性T-SQL太复杂或者无法执行(例如注册表编辑等)时才使用它。
回答
有关组装部署的单个技巧:
使功能在小型程序集之间保持隔离。尽量不要构建依赖关系链,因为替换基本程序集意味着我们需要先删除从属程序集,然后才能更新基本程序集。
回答
我强烈建议不要将.net程序集放在数据库服务器中,请考虑使用n层应用程序。持久性<业务逻辑<-演示逻辑<客户端
将逻辑保留在业务逻辑层中。
我能想到的将.net放入数据库的唯一原因是添加新的复杂数据类型,我强烈认为这是一个仅包含数据且不对其进行处理的愚蠢类。
仅仅因为我们可以,并不意味着我们应该。
很抱歉没有直接回答问题。