2013-04-04 95 views
1

与“Programming Razor”一起玩,我遇到了一个难题。如果我有这些列的表格:MVC模型类应使用什么数据类型来返回/表示Image类型的数据库列?

ID  int 
Title nvarchar 
Body nText 
Photo Image 

...应该如何声明相应的MVC Model类?我有:

public class BlogPost 
{ 
    public long ID { get; set; } 
    public string Title { get; set; } 
    public string Body { get; set; } 
    public Byte[] FauxToe { get; set; } 
} 

...但图像的字节数组(可能会是JPG或PNG)只是一个猜测,充其量。

+0

我知道这是关于EF的问题吗? – 2013-04-04 23:35:31

+0

好点;我改变了我的一个标签。 – 2013-04-04 23:37:27

回答

3

它可能不是完美的答案,但我只是想帮助。根据编程实体框架DbContect通过J.Lerman这应该被用来存储图片...

[Column(TypeName = "image")] 
public byte[] Photo { get; set; } 

然而,因为它的代码首先,该数据库生成列的类型之后是...... VARBINARY( MAX)。

这是来自这本书的另一本书Programing Entity Framework:代码优先,模式创建的地方。

提供给Column注释的参数特定于要映射到的 数据库。我们希望将照片存储在SQL 服务器映像字段中。只要可以将属性使用的 强制为您指定的数据库数据类型(例如,将 字节[]强制为图像),就可以配置数据类型。

但正如我所说,它没有映射到图像类型,但VARBINARY(MAX)

至于其他领域,你试图映射的int长着ID。确保你的表格被正确调用,或者你使用Table属性。