我正在开发一个使用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数据。
然后,在存储过程中,我想检查文件夹树是否已经存在,否则创建不存在的文件夹。
我看过这个帖子,所以我可以一次创建一个文件夹,但不能一次创建多个文件夹。
我想我可以检查2016年是否不存在,然后创建它。然后,检查Mone03是否不存在,然后创建它等等,但我担心在DataBase中有数百万个文档时的性能,因为我希望在不到2秒内从web应用程序插入文档(这是一个限制)。几天前,我做了一些性能测试,在数据库中插入100 K文档时,从web应用程序插入文档需要100到300毫秒。如果我必须查询每个目录的FileTable,然后创建它们(如果它们不存在),那么当DB中有这么多文档时,我担心性能会下降。
你在你的项目中经历过类似的需求吗?有什么想法吗?
发布于 2016-06-30 23:28:37
我刚刚为此创建了一个CLR集成项目。https://github.com/rhyous/Db.FileTableFramework
它有您想要的各种功能或过程: CreateFile、CreateDirectory、DirectoryExists。当然,在GitHub上,任何人都可以修改和改进它。
https://stackoverflow.com/questions/36340136
复制相似问题