创建FileTable目录树

时间:2016-03-31 17:40:12

标签: sql-server filestream filetable

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

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

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

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

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

我见过这个post所以我一次可以创建一个文件夹,但不能同时创建多个文件夹。

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

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

1 个答案:

答案 0 :(得分:1)

我刚为此创建了一个CLR集成项目。 https://github.com/rhyous/Db.FileTableFramework

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