图像数据类型 SQL Server 2008 C# 数据类型

6
我创建了一个数据表。
CREATE TABLE [ProductImages]
(
[ProductImageID] [int] IDENTITY(1,1) NOT NULL,
[ProductImage] [image] NOT NULL
 CONSTRAINT [PK_ProductImages] PRIMARY KEY CLUSTERED
 (
   [ProductImageID] ASC
 ) 
)

我正在尝试用C#编写ProductImages类。
public class ProductImages
{
    private int productImageID;

    public int ProductImageID
    {
        get { return productImageID; }
        set { productImageID = value; }
    }

 // I need to declare property for ProductImage???

}

如何为ProductImage声明属性?


从SQL Server 2005开始,IMAGE已经弃用 - 您不应再使用它。请改用VARBINARY(MAX) - marc_s
您可以使用CAST(MyImageField AS VARBINARY(MAX))将IMAGE转换为VARBINARY(MAX)。如果需要,您也可以将VARBINARY(MAX)转换为VARCHAR(MAX)。 - Erik Bergstedt
2个回答

24
public byte[] ProductImage { get; set;} 

这将有效... 图像只是二进制文件,并且您需要使用 byte[] 数据类型在 SQL Server 和应用程序之间进行序列化。


12

2
好的,提到 varbinary(max) 给你点赞。我第一次看到这个的时候错过了它。这是一种更好的存储数据的方法。顺便说一下,将其转换为使用 FILESTREAMs 也非常容易,这是处理上传到 SQL 的文件的首选方式。 - NotMe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接