Streaming和Linq Blobs
-
08-07-2019 - |
题
我有一个用于将文档元数据存储到表中的对象。文档的正文可能非常大,有时<!> gt;因此我将把它存储到SQL 2008中的nvarchar(max)字段中。稍后我将使用SQL 2008来索引该字段。我不会使用文件流,因为它们对数据库非常严格,并且会阻止某些类型的并发锁定方案。
此对象通过LinqToSQL向开发人员公开。我担心的是,该领域将变得很大,如果文本是<!> gt;我已经看到.Net炸弹爆炸出现OutOfMemory异常。 1.5 GB。
所以我想知道,我可以将这个blob视为Linq的流吗?或者,如果我想使用blob,我是否必须完全绕过Linq?
解决方案
给出了 <!> quot;的答案。 LINQ查询是否可以检索BLOB [...] <!> << 我怀疑你运气不好。 System.Data.Linq.Binary type没有任何流媒体机制 - 基本上它只是一个不可变的字节数组表示。
你可以调用一些深层次的LINQ mojo,但我怀疑它真的必须非常深。
实体框架可能会处理它 - 我没有调查过。
其他提示
我最终使用SQL中varchar(max)对象可用的write方法,将自己的方法围绕linq写入Sql。这允许开发人员将大量数据类型的数据块插入数据库。
不隶属于 StackOverflow