我尝试将 FileTable 与 Entity Framework 一起使用(我知道它不被直接支持)。所以我使用自定义 Sql 命令来插入和删除(不更新)数据。我的问题是我有一个表,它使用 FileTable 的 stream_id 的外键引用 FileTable。如果我插入到 FileTable 中,如何取回 stream_id?
我想使用 SqlBulkCopy 插入大量文件,我可以批量插入 FileTable,但 SqlBulkCopy 不会告诉我插入的 stream_id 值。
如果我使用 select scopeIdentity() 或类似的东西执行单个插入语句,性能会变得更糟。
我想将 5.000 个文件(2MB 到 20MB)插入到 FileTable 中,并通过外键将它们与我自己的表连接起来。这是不好的做法,我应该使用简单的路径列并将数据直接存储在文件系统中吗?我认为 FileTable 正是为我做这件事,因为我需要保护数据库并且文件总是同步的,即使我过去一小时或四天。我不能同时备份数据库和文件系统,所以它们是 100% 同步的。