Sql server 创建文件表目录树

Sql server 创建文件表目录树,sql-server,filestream,filetable,Sql Server,Filestream,Filetable,我正在开发一个自定义文档管理系统,它使用Filestream/FileTable作为文档存储 目录结构如下: APPNameDir-->年-->月-->文件 +APPNameDir + 2015 + 12 文件1.pdf 文件2.pdf + 2016 + 01 文件3.pdf 文件4.pdf + 02 文件5.pdf 文件6.pdf 我想做的是从C#代码调用一个存储过程,并传递一个文件夹树(例如(BooksApp/2016/03)和文件流数据 然后,在存储过程中,我想检查文件夹树是否已经存在,否

我正在开发一个自定义文档管理系统,它使用Filestream/FileTable作为文档存储

目录结构如下: APPNameDir-->年-->月-->文件

+APPNameDir
+ 2015
+ 12
文件1.pdf
文件2.pdf
+ 2016
+ 01
文件3.pdf
文件4.pdf
+ 02
文件5.pdf
文件6.pdf

我想做的是从C#代码调用一个存储过程,并传递一个文件夹树(例如(BooksApp/2016/03)和文件流数据

然后,在存储过程中,我想检查文件夹树是否已经存在,否则创建不存在的文件夹

我看到了这一点,所以我可以一次创建一个文件夹,但不能一次创建多个文件夹

我想我可以检查2016年是否不存在,然后创建它。然后,检查03月是否不存在,然后创建它,等等。但我担心数据库中有数百万文档时的性能,因为我希望在不到2秒钟的时间内从web应用程序插入文档(这是一个限制)。 几天前我做了一些性能基准测试,当数据库中有100K个文档时,从web应用程序插入一个文档需要100到300毫秒。如果我必须查询每个目录的FileTable,然后在它们不存在时创建它们,我担心当数据库中有这么多文档时,性能会下降


您在项目中是否遇到过类似的需求?有什么想法吗?

我刚刚为此创建了一个CLR集成项目。


它具有您想要的各种功能或过程:CreateFile、CreateDirectory、DirectoryExists。在GitHub上,任何人都可以修改和改进它。

我已将您的问题标记为有效。我最终使用dapper而不是ADO.NET创建了一个SOA解决方案,效果非常好。非常感谢