1

在玩“Programming Razor”时,我遇到了一个难题。如果我有一个包含这些列的表:

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)充其量只是一个猜测。

4

1 回答 1

3

这可能不是完美的答案,但我只是想提供帮助。根据 J.Lerman 的 Programming Entity Framework DbContect,这应该用于存储图像......

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

但是,由于它首先是代码,因此在生成 db 之后,列的类型是... varbinary(MAX)。

这是从这里开始的另一本书 Programing Entity Framework: Code first,创建模式的地方。

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

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

关于其他字段,您正在尝试使用 ID 将 int 映射到 long。确保您的表格被正确调用或您使用表格属性。

于 2013-04-04T23:46:39.783 回答