我有一个用于将文档元数据存储到表中的对象。文档的正文可能非常大,有时<!> 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。这允许开发人员将大量数据类型的数据块插入数据库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top