簡體   English   中英

Map 使用 Entity Framework Core 的圖像類型屬性

[英]Map Image type property using Entity Framework Core

我有一個 class 類型為System.Drawing.Image的屬性,因為我想在其中存儲圖像。 嘗試使用 Entity Framework Core 搭建 Web API controller 時,我收到錯誤消息:

錯誤圖片

我認為問題在於System.Drawing.Image class 具有object類型的“標簽”屬性。 現在,問題是如何修復這個映射?

選項 1

而不是直接在 EF 映射中使用System.Drawing.Image ,您可以將數據 map 到另一個byte[]類型的屬性

[NotMapped]
public System.Drawing.Image Image { get; set; }

public byte[] ImageData 
{
    get 
    {
        using (var ms = new MemoryStream())
        {
            Image.Save(ms, Image.RawFormat);
            return ms.ToArray();
        }
    }
    set  
    {
        if (value == null)
        {
            Image = null;
        }
        else
        {
            using (var ms = new MemoryStream(value))
            {
                Image = Image.FromStream(ms);
            }
        }
    }
}

選項 2

您也可以只在 model 中保留ImageData屬性,並在 model 之外處理加載和保存圖像。

public byte[] ImageData { get; set; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM