2013-04-04 81 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屬性。