gpt4 book ai didi

entity-framework - System.Drawing.Image EntityType 'Image' 没有定义键。定义此 EntityType 的键

转载 作者:行者123 更新时间:2023-12-04 07:27:10 34 4
gpt4 key购买 nike

我正在使用 EF Code First 和 Data Scaffolding 并且有一个包含类型属性的实体

public System.Drawing.Image Image { get; set; }
在初始化 DB 上下文以创建 DB 时,我收到以下错误:

System.Data.Edm.EdmEntityType: :EntityType 'Image' has no key defined.Define the key for this EntityType.

System.Data.Edm.EdmEntitySet:EntityType: EntitySet Images is basedon type Image that has no keysdefined.


关于如何解决这个问题的任何想法?

最佳答案

按照@Gats 的回答 - 您不能将所有类都映射到 EF。 EF 仅理解基本类型,并且每个映射类必须被识别为实体或复杂类型。所以你的 Impage 必须定义为:

public byte[] Image { get; set; }

通过将其标记为 byte[] EF 将理解它必须作为 varbinary 存储在 SQL 服务器中。 EF 不支持自定义类型或自定义初始值设定项,因此您不能说 EF 您的 Image 应该是其他任何内容。

如果您也想将 Image 作为 System.Drawing.Image 公开,您可以执行以下操作:
public System.Drawing.Image GetBitmap()
{
using (var stream = new MemoryStream(Image))
{
return System.Drawing.Image.FromStream(stream);
}
}

关于entity-framework - System.Drawing.Image EntityType 'Image' 没有定义键。定义此 EntityType 的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5920490/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com