gpt4 book ai didi

C# Entity Framework Core 使用 native 枚举数据类型存储枚举

转载 作者:行者123 更新时间:2023-12-05 04:59:42 39 4
gpt4 key购买 nike

我正在使用 Entity Framework Code 和 Code First 开发方法以及 PostgreSQL 数据库。我的一个类(class)有一个枚举属性。这很有效。

但是,当我查看数据库时,我注意到在数据库中枚举实际上存储为整数,而不是我预期的枚举。所以如果你现在直接从数据库中查询数据,你看到的只是整数,不知道它是什么意思。

我看过herehere您可以使用查找表或将枚举存储为字符串来避免这种情况,但这似乎有点不自然恕我直言,考虑到您也可以将枚举存储在数据库中。

那么有什么方法可以将枚举存储为 enum datatype在数据库中?如果没有,为什么不呢?

最佳答案

您可以查看 https://www.postgresql.org/docs/9.1/datatype-enum.html对于 postgres sql db 中的枚举类型,对于 ef 核心,可以使用 modelBuilder.HasPostgresEnum("schema", "typename", new[] { "enum1", "enum2"}),让 efcore 知道如何处理枚举类型,引用是这里https://www.npgsql.org/efcore/mapping/enum.html?tabs=tabid-1

关于C# Entity Framework Core 使用 native 枚举数据类型存储枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63404622/

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