我需要在 Sql 中运行 .Net 代码,我正在尝试在 F# 和 C# 之间做出决定。 现在我在 F# 中编写越来越多的代码,所以如果不是太不切实际,我希望它是 F#。
是否可以强制 VS2010 以与 C# 项目相同的方式将我的 F# 程序集(及其引用)部署到 Sql Server?
您会推荐/不推荐在 Sql 中运行 F# 吗?为什么?
编辑: 我同意语言更好,这不是问题。我主要想知道是否有人有在 SqlClr 中使用 F# 的经验,特别是这些工具是否可以提供简单的开发工作流,即在 VS2010 中部署。
编辑 2:
我正在试验这个,手动注册是非常痛苦的。除了 CREATE ASSEMBLY
之外,您还必须注册每个函数、sp、聚合等。如果它们存在,您还必须先按正确的顺序删除它们,以免出现 DROP ASSEMBLY failed because ' Nibbler' 被对象 'Hello' 引用。
然后我有了使用 C# 项目作为前端并让该项目引用 F# 项目的想法,只是为了自动处理所有这些部署。事实证明,您只能引用其他 C#/VB Sql Clr 项目或已在 Sql 中引用的程序集。不过,这仍然可以简化部署,因为所有功能的创建/删除等都将自动处理。然后,为了从测试部署到生产,我只需要从我的测试环境中注册的所有内容生成脚本。
附言。我还尝试摆弄 .fsproj 文件,与 C# Clr 项目的 .csproj 进行比较,以使部署无济于事。
最佳答案
如果您在使用 FSharp.Core 和 SQL CLR 上下文中的其他引用时遇到问题,您可以尝试 --standalone
compiler flag使外部引用嵌入到您部署到 SQL Server 的程序集中。
关于c# - 我应该在 SqlClr 中运行 F# 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5353009/