【发布时间】:2017-06-13 05:53:27
【问题描述】:
我正在使用 EF6 和 SQL Server 2012。我有一个表,其中包含 varchar(max) 列中的文本文件。平均文件大小为几 MB,但我正在寻找一种也适用于较大文件的解决方案。我使用字符串数据类型添加或更新此列,但我认为这不是更新数千条记录的有效方法,其中每条记录为 4 到 5 Mb。是否有任何有效的方法可以在 EF(甚至在 ADO.net)中插入或更新大型数据类型?
【问题讨论】:
-
您对“高效”的期望是什么?每个“4 到 5 MB”的“几千”个文件大约是 10GB。您的网络 I/O 将成为这里的瓶颈,而不是您的 C# 代码。
-
您可以使用 blob,但有效的方法是将文件保存在 HDD 上而不是 DB 上。
-
@DStanley 因为 EF 将加载每一行以更新并将连接字符串,因此它将使用大量内存
-
@rashfmnb 实际上并非每次都如此。文件打开和文件关闭操作很慢
-
@ZubaerNaseem 所以你要将新数据与现有数据连接起来?
标签: c# sql-server ado.net entity-framework-6