当前位置: 首页 > 编程语言 > C#

SqlDbType到varBinary(max)的映射是什么?分享

时间:2023-04-11 10:37:34 C#

SqlDbType映射到varBinary(max)是什么?SqlDbType映射到varBinary(max)的是什么?SqlDbType.VarBinary表示限制为8K。SQLServer文档说varbinary(max)可以存储aprrox。2GB。但是SqlDbType.VarBinary说它限制为8K。长度为-1的SqlDbType.VarBinary等同于VARBINARY(MAX),至少在理论上是这样。但是问题有点复杂,因为还有一个类型(不是枚举值),也就是SqlTypes.SqlBytes可以使用。还有SqlTypes.SqlFileStream,当它们具有FILESTREAM属性时,它也可用于VARBINARY(MAX)类型。但问题是这些枚举或类型都没有涵盖在ADO.Net中使用VARBINARY(MAX)列的实际问题:内存消耗。所有这些类型,当“开箱即用”使用时,将创建内存中分配的值的副本作为单个数组,这充其量是不可执行的,但随着内容变大,分配失败不可用。我有几篇文章展示了使用流语义在ADO.Net中处理VARBINARY(MAX)值的正确方法,避免创建整个内容的内存副本:试试这个:SqlParameterblobParam=newSqlParameter("@blob",SqlDbType.VarBinary,buffer.Length);blobParam.Value=缓冲区;cmd.Parameters.Add(blobParam);看看是否有效这可能会有所帮助:http://msdn.microsoft.com/en-us/library/a1904w6t.aspx虽然它可能很难看,但SqlDbType.Image似乎是可行的方法。看起来我需要更新我的ORM,因为任何超过8k的东西都会破坏它。以上就是C#学习教程:SqlDbType到varBinary(max)的映射是什么?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢