zoukankan      html  css  js  c++  java
  • Linq to SQL 中保存大值数据类型

    假如我们需要在数据库中保存文件的二进制内容,以往的做法是在 SQL Server 中使用 image 字段类型来存放。

    按照我上篇帖子里提到的 Model -> DB 的开发方式,如果我们在 dbml 的设计视图中设置一个类属性的数据类型是 byte[] (CLR 类型)。
    那么,db.CreateDatabase() 自动生成的数据库 schema 中,对应的数据库字段类型将是 varbinary(8000).

    如果我们上传一个文件保存到该字段中,会发现类似这样的错误:

    将截断字符串或二进制数据。语句已终止。...

    解决的办法是在 dbml 设计视图中,将字段的 Server Data Type 设置为 varbinary(max) 即可。

    在 SQL Server 2005 中,已经不推荐使用 image, text, ntext 这样的大值数据类型,取而代之的是 varbinary(max), varchar(max) 和 nvarchar(max). 其好处是这些标注 max 的字段类型能够支持 varbinary(n), varchar(n), nvarchar(n) 的大多数操作函数和其他一些重要特性。不再需要区分对待。

  • 相关阅读:
    关于选择器
    关于定位
    jq第一讲
    js第三讲
    js第2讲
    js第一讲
    HTML第三讲的补充及HTML5新增标签和属性
    CSS第 三讲概要
    CSS第二讲概要
    CSS第一讲概要
  • 原文地址:https://www.cnblogs.com/RChen/p/1198113.html
Copyright © 2011-2022 走看看